gpt4 book ai didi

javascript - 为什么 undefined var 没有添加到 window 对象 JavaScript 中?

转载 作者:行者123 更新时间:2023-11-28 02:10:56 27 4
gpt4 key购买 nike

据我所知,以下声明不会为变量aa添加任何值:

var aa = undefined;

function a () {
var aa;
console.log(aa); // here aa is still undefined
if(!aa) {
aa = 11; // should add to the globle scope (window Object)
bb = 12; // should add to the globle scope (window Object)
}
console.log(aa);
console.log(aa); // should be 11
console.log(bb); // should be 12
}

现在,如果我想访问变量 aabb,我只能访问 bb 而不是 aa.我的问题是为什么 aa 无法从外部访问,因为在声明中我没有为它分配任何值并且它仍然是未定义的?

谢谢。

最佳答案

看我的评论

var aa = undefined; // global scope

function a () {
if(true) { // useless
var aa; // declare aa in the function scope and assign undefined
// to work on the global aa you would remove the above line
console.log(aa); // here aa is still undefined
if(!aa) {
aa = 11; // reassign the local aa to 11
bb = 12; // assign 12 to the global var bb
}
console.log(aa); // aa is 11
}
console.log(aa); // still in the function scope so it output 11
console.log(bb); // should be 12
}
console.log(aa) // undefined nothing has change for the global aa

有关更多信息,请阅读此 great Ebook

关于javascript - 为什么 undefined var 没有添加到 window 对象 JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102405/

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