3

假设我有以下代码:

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

'stop = true' 声明是否将变量作为全局变量传回,或者只是更改它的值 - 或全新的东西!

4

1 回答 1

4

stop = true在这种情况下,将更改变量的值。

请记住功能范围。如果var在函数内使用,则声明的变量将不在全局范围内。

例如,如果你有这个:

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

调用foo()不会改变stop. 现在有一个局部stop的和一个全局的stop。然而...

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

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

于 2013-06-12T21:22:17.247 回答