gpt4 book ai didi

Javascript 变量范围 - 变量未定义

转载 作者:行者123 更新时间:2023-11-28 19:44:59 25 4
gpt4 key购买 nike

我试图理解下面的java脚本代码是如何工作的。我有一个名为 color 的全局变量,它存储“蓝色”;我调用 printColor() 来简单地打印颜色。我不明白的是,当我在函数中定义一个名为 color 的新局部变量时,为什么颜色未定义。如果取消下面局部颜色变量声明的注释,颜色未定义。

var color = 'blue';

printColor();

function printColor(){
document.write(color);
//var color = "green";
}

最佳答案

您正在 printColor() 函数中重新声明变量颜色,因为该声明实际上被提升到顶部,它会在函数开始时覆盖它,因此您会看到 undefined

var color = 'blue';

function printColor(){
document.write(color);
//var color = "green";
}
printColor();

但如果你这样做:

function printColor(){
document.write(color); //undefined
var color = "green";
console.log(color); //shows green
}

关于Javascript 变量范围 - 变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24444076/

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