调用一个函数而不向其传递参数

时间:2014-11-14 15:08:35

标签: javascript node.js

如果您查看此行https://github.com/hapijs/hapi-auth-basic/blob/master/lib/index.js#L14,您可以看到它在不传递任何参数的情况下调用internals.implementation,但该方法有2个参数https://github.com/hapijs/hapi-auth-basic/blob/master/lib/index.js#L14

如果没有传递参数,方法internals.implementation如何工作?

1 个答案:

答案 0 :(得分:2)

在第14行,实际上并未调用internals.implementation。相反,对函数的引用正被传递给plugins.auth.scheme(),可能稍后由auth插件调用(实际参数将被传递)。

例如,这是一个简化版本:



function sampleImplementation(message) {
    alert(message);
}

function useImplementation(implementation, message) {
    implementation.apply(this, [message]); // invoke the function with args
}

useImplementation(sampleImplementation, "hey there!"); // should alert "hey there!"