gpt4 book ai didi

javascript - 为什么即使稍后在代码中定义了局部变量,全局变量也无法访问

转载 作者:行者123 更新时间:2023-11-28 19:29:15 26 4
gpt4 key购买 nike

为什么以下代码段会生成以下输出?

代码段:

var a = 10;
function(){
console.log(a);
var a = 5;
}

输出:

undefined

最佳答案

因为变量被提升到顶部,并且在您的函数中您已经声明了变量 var a = 5,与以下内容相同:

var a = 10;
function(){
var a; // a = undefined
console.log(a);//a is not defined so outputs undefined
a = 5;
console.log(a);//a is now 5 so outputs 5
}

在您的函数作用域中声明 var 时,它看不到全局变量,而是看到局部变量,即 var a 并且未定义。

关于javascript - 为什么即使稍后在代码中定义了局部变量,全局变量也无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27199391/

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