取自JavaScript忍者,我看到了:
function bind(context, name) {
return function() {
return context[name].apply(context, arguments);
};
}
上述代码有什么区别?
function bind(context, name) {
return context[name].apply(context, arguments);
}
我很困惑为什么需要额外的回报?
由于
答案 0 :(得分:4)
第一个返回一个函数。
第二个返回调用context[name]
它允许您在保持上下文的同时在某处传递函数(因此可以将其称为以后)(因此this
的值将是所需的值。)
答案 1 :(得分:2)
除了他们完全不同的事实?一个返回一个包含函数调用的闭包,另一个调用该函数并返回其返回值。