额外退货的优势是什么?

时间:2012-10-16 14:27:26

标签: javascript

取自JavaScript忍者,我看到了:

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

上述代码有什么区别?

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

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

由于

2 个答案:

答案 0 :(得分:4)

第一个返回一个函数。

第二个返回调用context[name]

的结果

它允许您在保持上下文的同时在某处传递函数(因此可以将其称为以后)(因此this的值将是所需的值。)

答案 1 :(得分:2)

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