我正在学习JavaScript,我无法理解这一点。
function Out1()
{
function In1()
{
console.log("text inside function In1");
}
return In1();
}
function Out2()
{
return function In2()
{
console.log("text inside function In2");
};
}
Out1(); // text inside function In1
Out2(); //
输出2();控制台中没有任何输出我做错了什么?
答案 0 :(得分:1)
输出2();控制台中没有任何输出我做错了什么?
Out2
返回对其创建的函数的引用。它没有调用该功能。您可以在返回的引用上使用()
来调用它:
// vv-------- These call `Out2`
Out2()();
// ^^------ These call the function referenced returned by `Out2`
E.g:
var f = Out2(); // `f` is now a reference to the `In2` function
f(); // This calls `In2`