js的call()、apply()、bind()

Function.prototype.call()

call的第一個參數爲一個對象,如果爲primitive類型,則會自動轉爲該類型對應的包裝類型。若爲null、空、undefined則傳入全局對象。

call將該方法內部的this關鍵字指向第一個參數指定的對象並執行,也就是改變函數執行的作用域,call還可接第二個及多個參數,代表傳入當前函數的參數。

Function.prototype.apply()

和call一樣,只不過傳入參數時是以數組的方式傳入。

Function.prototype.bind()

每次調用返回一個的函數且不執行,使新函數內部的this指向第一個參數指定的對象,規則同call(應該,書上沒寫,我也沒試)

發佈了48 篇原創文章 · 獲贊 3 · 訪問量 6455
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章