成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

《JavaScript高級(jí)程序設(shè)計(jì)》22章 JavaScript高級(jí)用法

wanglu1209 / 1891人閱讀

摘要:和的定義是指多少時(shí)間之后將回調(diào)函數(shù)加入到的執(zhí)行隊(duì)列之中回調(diào)函數(shù)是否立即執(zhí)行取決于當(dāng)前的執(zhí)行隊(duì)列是否空閑。比較好的例子如下回調(diào)函數(shù)執(zhí)行其他操作假如內(nèi)部的執(zhí)行時(shí)間為那么的回調(diào)函數(shù)至少要等待才執(zhí)行。

1、惰性加載函數(shù) (判斷各個(gè)瀏覽器中是否支持某個(gè)屬性)

function addEvent(elem, type, handler){
    if(elem.addEventListener){
        return function(elem, type, handler){
            elem.addEventListener(type, handler, false);
        }
    }else if(elem.attachEvent){
        return function(elem, type, handler){
            elem.attachEvent("on"+type, handler);
        }
    }
}

這樣書寫代碼,函數(shù)只會(huì)在第一次執(zhí)行的時(shí)候去做檢查,以后每一次都自動(dòng)執(zhí)行確定的函數(shù)操作。
2、函數(shù)綁定和函數(shù)柯里化
函數(shù)綁定可以讓函數(shù)在指定的環(huán)境中執(zhí)行某一段代碼;函數(shù)柯里化可以讓函數(shù)在任何情況下傳遞任何數(shù)量的參數(shù)去執(zhí)行。

函數(shù)綁定

function bind(fn, context, args){
    return function(args){
        fn.call(context, args);
    }
}

函數(shù)柯里化

function curry(fn){
    var args = Array.prototype.slice.call(arguments, 1);
    return function(){
    var innerArgs = Array.prototype.slice.call(arguments);
    var finalArgs = args.concat(innerArgs);
    return fn.apply(null, finalArgs);    
    };
}

函數(shù)柯里化主要解決的問題是,已有的接口不適合我們當(dāng)前的操作環(huán)境,需要對(duì)已有的接口進(jìn)行相應(yīng)的轉(zhuǎn)換才可以使用。

ECMAScript 5允許通過以下幾種方式來創(chuàng)建防篡改對(duì)象。

?不可擴(kuò)展的對(duì)象,不允許給對(duì)象添加新的屬性或方法。
?密封的對(duì)象,也是不可擴(kuò)展的對(duì)象,不允許刪除已有的屬性和方法。
?凍結(jié)的對(duì)象,也是密封的對(duì)象,不允許重寫對(duì)象的成員。

setTimeout和setInterval

setTimeout的定義是指多少時(shí)間之后將回調(diào)函數(shù)加入到j(luò)s的執(zhí)行隊(duì)列之中;回調(diào)函數(shù)是否立即執(zhí)行取決于當(dāng)前的執(zhí)行隊(duì)列是否空閑。比較好的例子如下:

elem.on("click", function(event){
    setTimeout(function(){
        //回調(diào)函數(shù)
    }, 400);
    //執(zhí)行其他click操作
})

假如click內(nèi)部的執(zhí)行時(shí)間為500,那么setTimeout的回調(diào)函數(shù)至少要等待500ms才執(zhí)行。

setTnterval是重復(fù)定時(shí)器。它只允許當(dāng)前js執(zhí)行隊(duì)列中有一個(gè)相同的回調(diào)函數(shù)在執(zhí)行,比如說時(shí)間間隔為200ms,但是回調(diào)函數(shù)的執(zhí)行時(shí)間為404,那么當(dāng)?shù)诙€(gè)回調(diào)函數(shù)要加入到執(zhí)行隊(duì)列中時(shí),發(fā)現(xiàn)第一個(gè)回調(diào)函數(shù)在執(zhí)行,那么第二個(gè)回調(diào)函數(shù)不會(huì)加入到執(zhí)行隊(duì)列中。

自定義事件

具體實(shí)現(xiàn)方式:每一個(gè)綁定自定義事件時(shí),給每一個(gè)事件類型加對(duì)應(yīng)的回調(diào)函數(shù)數(shù)組;每一次觸發(fā)自定義事件時(shí),將對(duì)應(yīng)的回調(diào)函數(shù)數(shù)組里的回調(diào)函數(shù)挨個(gè)執(zhí)行一次。

拖拽
使用的事件類型未mouseenter、mousemove、mouseleave事件。需要考慮offsetX和offsetY的值。可以加入自定義事件來拓展("dragstart"、"drag"、"dragend")。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/85774.html

相關(guān)文章

  • 如何正確學(xué)習(xí)JavaScript

    摘要:然而,雖然先生對(duì)無所不知,被譽(yù)為世界的愛因斯坦,但他的語言精粹并不適合初學(xué)者學(xué)習(xí)。即便如此,在后面我還是會(huì)建議把當(dāng)做補(bǔ)充的學(xué)習(xí)資源。但目前為止,依然是學(xué)習(xí)編程的好幫手。周正則表達(dá)式,對(duì)象,事件,閱讀權(quán)威指南第,,,章。 既然你找到這篇文章來,說明你是真心想學(xué)好JavaScript的。你沒有想錯(cuò),當(dāng)今如果要開發(fā)現(xiàn)代網(wǎng)站或web應(yīng)用(包括互聯(lián)網(wǎng)創(chuàng)業(yè)),都要學(xué)會(huì)JavaScript。而面對(duì)泛...

    canger 評(píng)論0 收藏0
  • 如何閱讀《JavaScript高級(jí)程序設(shè)計(jì)》(一)

    摘要:題外話最近在看高級(jí)程序設(shè)計(jì)這本書,面對(duì)著多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。全局環(huán)境的關(guān)閉是頁(yè)面關(guān)閉或者瀏覽器關(guān)閉,而局部環(huán)境的關(guān)閉是指函數(shù)結(jié)束。數(shù)值范圍最大和最小的范圍是超出范圍的數(shù)字如何表示是一個(gè)特殊的值。 題外話 最近在看《JavaScript高級(jí)程序設(shè)計(jì)》這本書,面對(duì)著700多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。探究一下到底怎么讀這本書。本書的內(nèi)容好像...

    chadLi 評(píng)論0 收藏0
  • 如何閱讀《JavaScript高級(jí)程序設(shè)計(jì)》(一)

    摘要:題外話最近在看高級(jí)程序設(shè)計(jì)這本書,面對(duì)著多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。全局環(huán)境的關(guān)閉是頁(yè)面關(guān)閉或者瀏覽器關(guān)閉,而局部環(huán)境的關(guān)閉是指函數(shù)結(jié)束。數(shù)值范圍最大和最小的范圍是超出范圍的數(shù)字如何表示是一個(gè)特殊的值。 題外話 最近在看《JavaScript高級(jí)程序設(shè)計(jì)》這本書,面對(duì)著700多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。探究一下到底怎么讀這本書。本書的內(nèi)容好像...

    jubincn 評(píng)論0 收藏0
  • 如何閱讀《JavaScript高級(jí)程序設(shè)計(jì)》(一)

    摘要:題外話最近在看高級(jí)程序設(shè)計(jì)這本書,面對(duì)著多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。全局環(huán)境的關(guān)閉是頁(yè)面關(guān)閉或者瀏覽器關(guān)閉,而局部環(huán)境的關(guān)閉是指函數(shù)結(jié)束。數(shù)值范圍最大和最小的范圍是超出范圍的數(shù)字如何表示是一個(gè)特殊的值。 題外話 最近在看《JavaScript高級(jí)程序設(shè)計(jì)》這本書,面對(duì)著700多頁(yè)的厚書籍,心里有點(diǎn)壓力,所以我決定梳理一下。。探究一下到底怎么讀這本書。本書的內(nèi)容好像...

    libin19890520 評(píng)論0 收藏0
  • [譯] 如何恰當(dāng)?shù)貙W(xué)習(xí) JavaScript

    摘要:原文鏈接恰當(dāng)?shù)貙W(xué)習(xí)適合第一次編程和非的程序員持續(xù)時(shí)間到周前提無需編程經(jīng)驗(yàn)繼續(xù)下面的課程。如果你沒有足夠的時(shí)間在周內(nèi)完成全部的章節(jié),學(xué)習(xí)時(shí)間盡力不要超過周。你還不是一個(gè)絕地武士,必須持續(xù)使用你最新學(xué)到的知識(shí)和技能,盡可能地經(jīng)常持續(xù)學(xué)習(xí)和提高。 原文鏈接:How to Learn JavaScript Properly 恰當(dāng)?shù)貙W(xué)習(xí) JavaScript (適合第一次編程和非 JavaSc...

    Jason 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<