【问题标题】:Variables scope in javascript [duplicate]javascript中的变量范围[重复]
【发布时间】:2014-07-12 17:52:44
【问题描述】:

我希望控制台中显示的结果是name2,而不是name1

function showInfo() {
 var NAME="name1";//1
 FB.api('/me', function(response) {
  document.getElementById('status').innerHTML =
  response.name;   
  NAME="name2";//2
});
 FB.api("/me/picture?width=35&redirect=0&type=normal&height=35", function (response) {

   console.log(NAME);
 }
}

我确实喜欢上面但结果控制台是name1 我如何在 //2 中更改 NAME 的值,结果在控制台中是 name2。 非常感谢!

【问题讨论】:

    标签: javascript variables global-variables scope


    【解决方案1】:

    这些调用是异步的,所以你可以试试这样:

    function showInfo() {
        var NAME="name1";//1
        FB.api('/me', function(response) {
            document.getElementById('status').innerHTML = response.name;   
            NAME="name2";//2
            FB.api("/me/picture?width=35&redirect=0&type=normal&height=35", function (response) {
                console.log(NAME);
            });
        });
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 2014-03-28
      • 2021-12-04
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 2014-09-17
      • 2013-06-12
      相关资源
      最近更新 更多