兩者作用一緻,都是把<code>obj</code>(即this)綁定到<code>thisobj</code>,這時候<code>thisobj</code>具備了<code>obj</code>的屬性和方法。或者說<code>thisobj</code>『繼承』了<code>obj</code>的屬性和方法。綁定後會立即執行函數。
唯一差別是apply接受的是數組參數,call接受的是連續參數。
我們在控制台運作:
示例:
對象a類似array,但不具備array的slice等方法。使用call綁定,這時候就可以調用slice方法。
通過call和apply,我們可以實作對象繼承。示例:
以上實作了對象的繼承。
把obj綁定到thisobj,這時候thisobj具備了obj的屬性和方法。與call和apply不同的是,bind綁定後不會立即執行。
同樣是add()和sub():
如果bind的第一個參數是null或者undefined,等于将this綁定到全局對象。