为什么不能将非嵌套函数分配给变量counter
?为什么第二个函数会产生错误?
第一个:
function makeCounter() {
return function() {
return "hello";
};
};
let counter = makeCounter();
console.log( counter() );
第二:
function makeCounter(){
return "hello";
};
let counter = makeCounter();
console.log( counter() );
最佳答案
在第二种情况下,您不是分配函数,而是分配它的return
结果(它是字符串hello
),请将您的代码更改为可以使用:
function makeCounter(){
return "hello";
};
let counter = makeCounter; // Assign function reference
console.log( counter() );