Function.prototype.call()
call的第一個參數爲一個對象,如果爲primitive類型,則會自動轉爲該類型對應的包裝類型。若爲null、空、undefined則傳入全局對象。
call將該方法內部的this關鍵字指向第一個參數指定的對象並執行,也就是改變函數執行的作用域,call還可接第二個及多個參數,代表傳入當前函數的參數。
Function.prototype.apply()
和call一樣,只不過傳入參數時是以數組的方式傳入。
Function.prototype.bind()
每次調用返回一個新的函數且不執行,使新函數內部的this指向第一個參數指定的對象,規則同call(應該,書上沒寫,我也沒試)