【发布时间】:2022-01-21 08:06:59
【问题描述】:
我是 javascript 的初学者,我试图了解在重新定义变量值的函数内部调用的函数。这是代码
var a;
function app2(a) {
var a = 8;
return a
}
function app(a) {
var a = 7;
app2(a)
return a
}
console.log(app(a));
当我运行代码时,它仍然显示 7 作为输出。我认为它会是 8,因为我在 app 函数中调用了函数 app2。为什么值不会变成 8?我应该怎么做更新嵌套函数内的变量值?提前致谢
【问题讨论】:
-
你怎么能在这里期待
8,因为如果你获取函数app2的返回值并从app返回,你只能得到8。 -
每个函数体(即:作用域)都有自己的
a变量的“版本”,它不是共享的(因为您在您的内部使用var声明了a变量函数) -
@decpk 他是一个新的贡献者,并说他正在开始 js。这个问题并不难理解,他在
app中调用了app2,并希望这个函数能够修改app中的a。 -
谢谢你的回答我已经解决了
标签: javascript node.js algorithm function