Function.prototype.bind=function(){
var self = this,//保持原函數
context = [].shift.call(arguments),//需要綁定的this上下文
args = [].slice.call(arguments);//剩余的參數轉成數組
return function(){ //返回一個新的函數
return self.apply(context, [].concat.call(args, [].slice.call(arguments)));
//執行新的而函數的時候,會把之前傳入的context當做新函數體內的this
//并且組合兩次分別傳入的參數,作為新函數的參數
}
};
Function.prototype.bind的內部實現
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 在用 PhantomJS 運行 stdfn.CHAR = String.fromCharCode.bind(Str...
- Nginx+FPM結構模型剖析及優化 隨著php腳本語言使用的普及,目前webserice服務大部分都在用ngin...
- 本文摘錄自本人的《Git聊天入門》 arc 為何物 arc 全稱是 arcanist,百度給出的中文翻譯是:巧匠。...