本文受到了知乎問題 如何理解和熟練運用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綁定后不會立即執行。

