JS 中 call 和 apply 的理解和使用


本文受到了知乎問題 如何理解和熟練運用js中的call及apply? 的啟發。

 

obj.call(thisObj, arg1, arg2, ...);

obj.apply(thisObj, [arg1, arg2, ...]);

作用:將 obj (即this) 綁定到 thisObj,使 thisObj 具備 obj 的屬性和方法。綁定后會立即執行函數。

區別:call() 方法接受的是若干個參數的列表,而 apply() 方法接受的是一個包含多個參數的數組。

 

使用:

使用call方法調用函數並且指定上下文的'this'

 

調用原生對象的方法

 

調用父構造函數,實現繼承(類似 Java 中的寫法)

 

bind 的使用

obj.bind(thisObj. arg1, arg2, ...);

把obj綁定到thisObj,這時候thisObj具備了obj的屬性和方法。與call和apply不同的是,bind綁定后不會立即執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM