0

取自 JavaScript Ninja,我看到:

function bind(context, name) {
    return function() {
        return context[name].apply(context, arguments);
    };
}

上面的代码和有什么区别?

function bind(context, name) {
    return context[name].apply(context, arguments);
}

我很困惑为什么需要额外的回报?

谢谢

4

2 回答 2

4

第一个返回一个函数。

第二个返回调用结果context[name]

它允许您在保持上下文的同时在某处传递一个函数(以便以后可以调用它)(因此需要的this

于 2012-10-16T14:29:14.587 回答
2

除了他们完全不同的事实之外?一个返回一个包含函数调用的闭包,另一个调用该函数并返回其返回值。

于 2012-10-16T14:28:55.113 回答