if (!Function.prototype.bind) {
Function.prototype.bind = function (oThis) {
if (typeof this !== 'function') {
throw new TypeError('not function');
}
var aArgs = Array.prototype.slice.call(arguments,1),
fToBind = this,
fNOP = function () {},
fBound = function () {
return fToBind.apply(
this instanceof fNOP?this:oThis,
aArgs.concat(Array.prototype.slice.call(arguments))
);
}
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
}
}
手寫bind函數
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- 轉自http://blog.csdn.net/jutal_ljt/article/details/53381670...