我不知道这个...

我想要:

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

像这样:

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


    function getLocation(){

        posLat = "hey";

}


警报应显示4,但警报未定义。我是不是很蠢?

最佳答案

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

var posLat = getLocation();

...

function getLocation() {
    return "hey";
}

09-18 01:12