原生JS實現bind方法

2021-09-24 06:51:58 字數 408 閱讀 3478

bind方法建立乙個新函式。呼叫新函式時,this指向給定的物件,並且將給定的引數列表作為原函式的引數序列的前若干項。

當使用new操作符建立bind函式的例項時,bind函式變成構造器,給定的物件引數失效,其餘引數仍然有效。

function

mybind

(); function

fn()

// 臨時函式prototype指向原函式prototype

ftemp.prototype = self.prototype;

// 新函式prototype設為臨時函式的例項物件(當原函式使用new建立例項)

fn.prototype = new ftemp();

return fn;

}複製**

用原生js實現乙個bind方法

bind 方法建立乙個新的函式,當被呼叫時,將其this關鍵字設定為提供的值,在呼叫新函式時,在任何提供之前提供乙個給定的引數序列。這段是來自mdn bind的介紹,我們可以理解bind方法返回乙個新的函式,這個函式內部的this指向提供的引數值,來看個例子 const person const g...

js方法實現 bind

函式繫結 bind 方法建立乙個新的函式,在 bind 被呼叫時,這個新函式的 this 被指定為 bind 的第乙個引數,而其餘引數將作為新函式的引數,供呼叫時使用。var slice array.prototype.slice function.prototype.bind function r...

JS實現bind方法

bind 是在ecmascript5中新增的方法,用於將乙個函式繫結到乙個物件,成為其方法,還可以用於建構函式。const obj const getsum obj.getsum console.log getsum undefined上面 輸出了undefined,getsum 執行時內部的thi...