我遇到了一些JavaScript函数的问题,这些函数让我头疼了大约一个小时,直到一些精心设置的警报()显示出令我惊讶的东西。似乎有一个功能是改变另一个函数的局部变量。我写了一个简单的测试脚本:
function first() {
msg = "1111";
second();
alert(msg);
}
function second() {
msg = "2222";
}
当我第一次打电话时()我希望得到一个警告框,上面写着“1111”,但我得到的是“2222”。 second()如何影响属于first()的局部变量?我错过了什么或者这是一个错误吗?
我正在使用Firefox 12.0。
答案 0 :(得分:5)
变量仅在使用var语句时是本地的:
var msg = "1111";
否则该值会转义到全局范围。