gpt4 book ai didi

javascript - 函数与变量之比的原因是什么?

转载 作者:行者123 更新时间:2023-11-30 19:37:31 25 4
gpt4 key购买 nike

这不行

function myCounter(){
let counter = 0;
function plus(){
counter++;
return counter;
}
return plus;
}

console.log(myCounter());
console.log(myCounter());

但这行得通

function myCounter(){
let counter = 0;
function plus(){
counter++;
return counter;
}
return plus;
}
var add = myCounter();

console.log(add());

我知道它们的语法不同。我的主要问题是:为什么单独在console.log上函数不起作用,应该归于一个变量

最佳答案

您的函数 myCounter 只返回一个函数引用。它不调用函数 plus

在你的第一个例子中你只调用函数myCounter:

console.log(myCounter());

在您的第二个示例中,您首先调用返回函数引用的函数 myCounter:

var add = myCounter();

然后调用返回的函数:

console.log(add());

解决方案:

你必须改变这一行

返回加号;

return plus();

这个有效:

function myCounter(){
let counter = 0;
function plus(){
counter++;
return counter;
}
return plus();
}

console.log(myCounter());

关于javascript - 函数与变量之比的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55782090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com