在函数

时间:2016-12-10 22:02:33

标签: javascript node.js

我正在尝试访问函数外部的变量,但我得到了未定义的

 meliObject.get('users/me', function (err, res) {
           nickname = res.nickname;
  });

console.log(nickname);

如何访问昵称?

修改

我改变了我的代码:

var nickname;

        meliObject.get('users/me', function (err, res) {

            nickname = res.nickname;


        });

        console.log(nickname);

但我仍然未定义

1 个答案:

答案 0 :(得分:1)

该函数的结果是异步的,因此您无法执行此操作。 Javascript流程如下:运行meliObject.get,立即返回,运行console.log(昵称),然后等待调用回调。要正确地访问console.log,只需执行以下操作:

meliObject.get('users/me', function (err, res) {
   nickname = res.nickname;
   console.log(nickname);
});

现在,要回答你的问题,要在函数外声明一个变量,只需使用var / let / const:

var a = 2;
(function () {
    a = 3;
})();
console.log(a);

它将按预期打印。