国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《JavaScript高級程序設計》22章 JavaScript高級用法

wanglu1209 / 1840人閱讀

摘要:和的定義是指多少時間之后將回調函數加入到的執行隊列之中回調函數是否立即執行取決于當前的執行隊列是否空閑。比較好的例子如下回調函數執行其他操作假如內部的執行時間為那么的回調函數至少要等待才執行。

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

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);
        }
    }
}

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

函數綁定

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

函數柯里化

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);    
    };
}

函數柯里化主要解決的問題是,已有的接口不適合我們當前的操作環境,需要對已有的接口進行相應的轉換才可以使用。

ECMAScript 5允許通過以下幾種方式來創建防篡改對象。

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

setTimeout和setInterval

setTimeout的定義是指多少時間之后將回調函數加入到js的執行隊列之中;回調函數是否立即執行取決于當前的執行隊列是否空閑。比較好的例子如下:

elem.on("click", function(event){
    setTimeout(function(){
        //回調函數
    }, 400);
    //執行其他click操作
})

假如click內部的執行時間為500,那么setTimeout的回調函數至少要等待500ms才執行。

setTnterval是重復定時器。它只允許當前js執行隊列中有一個相同的回調函數在執行,比如說時間間隔為200ms,但是回調函數的執行時間為404,那么當第二個回調函數要加入到執行隊列中時,發現第一個回調函數在執行,那么第二個回調函數不會加入到執行隊列中。

自定義事件

具體實現方式:每一個綁定自定義事件時,給每一個事件類型加對應的回調函數數組;每一次觸發自定義事件時,將對應的回調函數數組里的回調函數挨個執行一次。

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85774.html

相關文章

  • 如何正確學習JavaScript

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

    canger 評論0 收藏0
  • 如何閱讀《JavaScript高級程序設計》(一)

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

    chadLi 評論0 收藏0
  • 如何閱讀《JavaScript高級程序設計》(一)

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

    jubincn 評論0 收藏0
  • 如何閱讀《JavaScript高級程序設計》(一)

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

    libin19890520 評論0 收藏0
  • [譯] 如何恰當地學習 JavaScript

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

    Jason 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<