一个函数改变另一个函数的局部变量?

时间:2012-06-23 21:09:58

标签: javascript local-variables

我遇到了一些JavaScript函数的问题,这些函数让我头疼了大约一个小时,直到一些精心设置的警报()显示出令我惊讶的东西。似乎有一个功能是改变另一个函数的局部变量。我写了一个简单的测试脚本:

function first() {
    msg = "1111";

    second();

    alert(msg);
    }


function second() {
    msg = "2222";
    }

当我第一次打电话时()我希望得到一个警告框,上面写着“1111”,但我得到的是“2222”。 second()如何影响属于first()的局部变量?我错过了什么或者这是一个错误吗?

我正在使用Firefox 12.0。

1 个答案:

答案 0 :(得分:5)

变量仅在使用var语句时是本地的:

var msg = "1111";

否则该值会转义到全局范围。