Function.prototype.bind的內部實現

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
  //并且組合兩次分別傳入的參數,作為新函數的參數
}
};
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容