1.作用:
call、apply和bind是Function對象自帶的三個方法,都是爲了改變函數體內部 this 的指向,區別是call()和apply()在調用函數之後會立即執行,而bind()方法調用並改變函數運行時上下文後,返回一個新的函數,供我們需要時再調用。它們的第一個參數,都是指定一個運行時的上下文,也就是this的指向。bind,和call,指定this指向的參數後,可以加入多個參數,而apply則接受一個數組作爲參數。
2.如何選用:
如果不需要關心具體有多少參數被傳入函數,選用apply()。
如果確定函數可接收多少個參數,並且想一目瞭然表達形參和實參的對應關係,用call()。
如果我們想要將來再調用方法,不需立即得到函數返回結果,則使用bind()。
js中的bind、call、apply
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Memcached緩存技術原理及機制
Yeoman92
2020-07-07 02:52:39
memcached的CURD操作
Yeoman92
2020-02-20 14:25:25
關於手機遊戲客戶端中mvc框架的討論
firekido
2020-02-20 13:50:24
RPG遊戲中Bresenham算法推導以及應用
firekido
2019-07-28 13:32:57
python學習筆記
firekido
2019-07-06 13:31:21
面向對象6大原則之里氏替換原則
firekido
2019-06-16 13:24:38
程序員的修養--讀書筆記
firekido
2019-05-26 13:24:58
js的__proto__、constructor和prototype屬性
firekido
2019-05-19 13:26:37
Review Python Numpy 數組的初始化和基本操作
Alex JIA
2018-11-21 06:19:58
計算幾個變量之間的相關係數,計算協方差矩陣時:TypeError: cannot perform reduce with flexible type
Alex JIA
2018-11-21 06:19:58