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

資訊專欄INFORMATION COLUMN

理解javascript中apply( ), call( ), bind( )

LiveVideoStack / 2143人閱讀

摘要:,,和都是用來改變函數執行時的上下文也就是說改變的指向問題,是的方法,引入是因為沒有將設置成行參。一般都是庫里面用不推薦自己使用和。和唯一區別是參數不一樣,是的語法糖是返回一個新函數供以后調用,相比其他兩個比較常用。而和是立即調用。

apply(),call(),和bind()都是用來改變函數執行時的上下文也就是說改變this的指向問題,是prototype的方法,引入是因為js沒有將this設置成行參。一般都是庫里面用不推薦自己使用call和apply。
call()和apply()唯一區別是參數不一樣,call()是apply()的語法糖;
bind()是返回一個新函數供以后調用,相比其他兩個比較常用。而apply()和call()是立即調用。

如果不需要關心具體有多少參數被傳入函數,選用apply();
如果確定函數可接收多少個參數,并且想一目了然表達形參和實參的對應關系,用call();
如果我們想要之后再調用方法,不需立即得到函數返回結果,使用bind();

apply()

使用 apply, 你可以繼承其他對象的方法:

這里apply()的第一個參數是null,在非嚴格模式下,第一個參數為null或者undefined時會自動替換為指向全局對象,apply()的第二個參數為數組或類數組。

call()

call()是apply()的語法糖,作用和apply()一樣,同樣可實現繼承,唯一的區別就在于call()接收的是參數列表,而apply()則接收參數數組。

bind()

bind()的作用與call()和apply()一樣,都是可以改變函數運行時上下文,區別是call()和apply()在調用函數之后會立即執行,而bind()方法調用并改變函數運行時上下文后,返回一個新的函數,供我們需要時再調用。

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

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

相關文章

  • 理解 JavaScript call()/apply()/bind()

    摘要:理解文章中已經比較全面的分析了在中的指向問題,用一句話來總結就是的指向一定是在執行時決定的,指向被調用函數的對象。與和直接執行原函數不同的是,返回的是一個新函數。這個新函數包裹了原函數,并且綁定了的指向為傳入的。 理解 JavaScript this 文章中已經比較全面的分析了 this 在 JavaScript 中的指向問題,用一句話來總結就是:this 的指向一定是在執行時決定的,...

    duan199226 評論0 收藏0
  • 理解JavaScriptcall,applybind方法

    摘要:輸出的作用與和一樣,都是可以改變函數運行時上下文,區別是和在調用函數之后會立即執行,而方法調用并改變函數運行時上下文后,返回一個新的函數,供我們需要時再調用。 前言 js中的call(), apply()和bind()是Function.prototype下的方法,都是用于改變函數運行時上下文,最終的返回值是你調用的方法的返回值,若該方法沒有返回值,則返回undefined。這幾個方法...

    chaosx110 評論0 收藏0
  • JavaScript函數的callapplybind

    摘要:它們有明確的和成員函數的定義,只有的實例才能調用這個的成員函數。用和調用函數里用和來指定函數調用的,即指針的指向。同樣,對于一個后的函數使用或者,也無法改變它的執行,原理和上面是一樣的。 函數里的this指針 要理解call,apply和bind,那得先知道JavaScript里的this指針。JavaScript里任何函數的執行都有一個上下文(context),也就是JavaScri...

    alighters 評論0 收藏0
  • ES5 call,apply,bind方法總結(包括理解this的指向問題)

    總結call,apply,bind方法的理解使用和區別。 call,apply,bind這三個方法在JavaScript中是用來改變函數調用的this指向。那么改變函數this指向有什么用呢?我們先來看一段代碼 var a= { name:harden, fn:function () { console.log(this.name); } } var b =...

    nanchen2251 評論0 收藏0
  • javascript高級程序設計》函數調用模式 & this深度理解

    在上一篇文章(《javascript高級程序設計》筆記:Function類型)中稍微提及了一下函數對象的屬性—this,在這篇文章中有深入的說明: 函數的三種簡單調用模式 1 函數模式 定義的函數,如果單獨調用,不將其與任何對象關聯,那么就是函數調用模式 function fn(num1, num2) { console.log(this); } // 直接在全局調用 fn();// w...

    wyk1184 評論0 收藏0

發表評論

0條評論

LiveVideoStack

|高級講師

TA的文章

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