声明一个没有'var'让它成为一个全局变量或者只是改变它的值

Does declaring an existing variable without 'var' make it a global var or just change the value?

本文关键字:一个 或者 全局变量 改变 var 声明      更新时间:2023-09-26

假设我有以下代码:

var stop = false
if (!$(this).val()) {
    stop = true
}

"stop = true"声明是否将变量作为全局变量传递回去,或者只是改变它的值——或者是一些全新的东西!

stop = true将改变变量的值,在本例中

记住函数范围。如果在函数中使用var,则声明的变量将不在全局作用域中。

如果你,例如,有这个:

var stop = false;
function foo() {
    var stop = true;
}

调用foo()不会改变stop的值。现在有一个本地stop和一个全局stop。然而…

var stop = false;
function foo() {
    stop = true;
}

现在,当调用foo()时,stop的值将被改变

相关文章: