js中的bind、call、apply

1.作用:
call、apply和bind是Function對象自帶的三個方法,都是爲了改變函數體內部 this 的指向,區別是call()和apply()在調用函數之後會立即執行,而bind()方法調用並改變函數運行時上下文後,返回一個新的函數,供我們需要時再調用。它們的第一個參數,都是指定一個運行時的上下文,也就是this的指向。bind,和call,指定this指向的參數後,可以加入多個參數,而apply則接受一個數組作爲參數。
2.如何選用:
如果不需要關心具體有多少參數被傳入函數,選用apply()。
如果確定函數可接收多少個參數,並且想一目瞭然表達形參和實參的對應關係,用call()。
如果我們想要將來再調用方法,不需立即得到函數返回結果,則使用bind()。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章