gpt4 book ai didi

Javascript:变量范围 - 澄清请求

转载 作者:搜寻专家 更新时间:2023-10-31 23:18:33 25 4
gpt4 key购买 nike

<分区>

我从一个 friend 那里看到这段代码,我想知道为什么它会这样工作。

假设有两个文件:scope2.js 和 scope3.js

scope2.js

console.log(foo);
var foo=6;
woo=5;
(function()
{
console.log(foo);
console.log(woo);
var foo=5;

console.log(foo);
console.log(woo);
})();

在 NodeJS 环境中执行时的输出,>>> "node scope2.js"

undefined undefined 5 5 5

现在,Scope3.js

console.log(foo);
var foo=6;
woo=5;
(function()
{
console.log(foo);
console.log(woo);
var foo=5;
var woo=6;
console.log(foo);
console.log(woo);
})();

上述代码在 nodejs env 中的输出是:

undefined undefined undefined 5 6

为什么会出现这种行为?

我了解 JS 中变量作用域的大部分基础知识,但这让我感到困惑,我不想理解一些带有错误假设的东西。

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