14-借用call/apply/bind

call/appiy/bind存在原型上,函數是實例對象,所以可以訪問(繼承)

1.call

函數名.call(要修改的this,依次把函數調用需要的參數)

作用:

? ? ?1.調用函數

? ? ? 2.修改this

使用場景:借用構造函數繼承


2.apply

函數名.apply(要修改的this,以數組的形式把所需的參數依次傳遞)

作用:

? ? ?1.調用函數

? ? ?2.修改this

?使用常見:求數組的最大值


3.bind

函數名.bind(要修改的this.依次傳參);

作用

? ? 1.修改this

? ? 2.返回一個新的函數,這個函數不會被調用,需要再次手動的調用

使用場景

setInterval();

當我們需要修改this的函數,但是又不需要立即執行這個函數的時候,就使用bind修改this即可

下圖中,將this的指向從window改為obj

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容