我刚刚开始学习函数。这就是给我带来困难的原因。
const Func = () => {
return () => {
console.log('hello');
};
};
const innerFunc = Func();
innerFunc(); // 1.
Func(); //2.
我不明白为什么尝试使用 2 时控制台上没有显示“hello”。
innerFunc 和 Func 不都是函数名吗?
我不知道它们之间的区别。
抱歉我的英语不好。
Func()
返回一个函数,直到您使用 ()
运行结果(就像使用 1.
那样)时,该函数才会被执行。const innerFunc = Func();
,您将从 Func
返回的函数分配给 innerFunc
。所以要调用它,你需要像这样运行它:innerFunc()
。
您的函数“Func”从内部返回另一个函数,因此当您调用 Func() 时,它将返回您命名为“innerFunc”的另一个函数,并且调用 innerFunc 将返回输出为 hello。
当您尝试使用 Just 'Func()' 时,它只会返回您在 Func 中返回的另一个函数。
开始学习函数,看看就知道了
const Func = () => {
console.log('hello');
};
Func(); // logs hello to the console
这里是函数中的函数,比较复杂,而且不一定对初学者友好。