快速实现一个一般是:
Function.prototype.bind = function (context) {
var me = this;
var argsArray = Array.prototype.slice.call(arguments);
return function () {
return me.apply(context, argsArray.slice(1))
}
}
但是最近看了一篇文章,说这种会
预设参数功能丢失是什么意思?
Function.prototype.bind = Function.prototype.bind || function (context) {
var me = this;
var args = Array.prototype.slice.call(arguments, 1);
return function () {
var innerArgs = Array.prototype.slice.call(arguments);
var finalArgs = args.concat(innerArgs);
return me.apply(context, finalArgs);
}
}
为什么还要搞一个innerArgs,柯里化?
请大神举下具体场景讲解下。感谢
一只萌萌小番薯
慕哥9229398
阿波罗的战车
繁华开满天机
相关分类