更改函数中的全局变量

时间:2012-11-30 01:06:23

标签: javascript

我无法弄明白......

我想:

声明一个变量,运行一个更改该变量值的函数,然后提醒新值的值。

像这样:

function loadApp(){
    FB.api('/me', function(response) {
            var posLat;
            getLocation();
        console.log(posLat);
    });
}


    function getLocation(){

        posLat = "hey";

}

警报应该显示4但只是警报未定义。我傻了吗?

1 个答案:

答案 0 :(得分:4)

posLat在函数内部定义,因此使其成为不能在其环绕范围之外使用的本地函数。这就是getLocation无法修改它的原因。实际上,它正在窗口对象上创建一个名为posLat的全局变量。正如我的帖子中的评论所示,请将posLat设置为getLocation的返回值:

var posLat = getLocation();

...

function getLocation() {
    return "hey";
}