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