假设我有以下代码:
var stop = false
if (!$(this).val()) {
stop = true
}
'stop = true'声明是否将变量作为全局传递回来,或仅仅更改它的值 - 或者全新的变量!
答案 0 :(得分: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
的价值会发生变化。