【发布时间】:2011-02-10 12:39:27
【问题描述】:
发件人:http://ejohn.org/apps/learn/#2
Function.prototype.bind = function(){
var fn = this, args = Array.prototype.slice.call(arguments), object = args.shift();
return function(){
return fn.apply(object,
args.concat(Array.prototype.slice.call(arguments)));
};
};
谁能告诉我为什么需要第二次返回(在 fn.apply 之前)?
另外,谁能解释为什么 args.concat 是必要的?为什么不改写成:
fn.apply(object, args)
而不是
return fn.apply(object,
args.concat(Array.prototype.slice.call(arguments)));
【问题讨论】:
标签: javascript jquery prototypejs resig