如何将局部函数生成的值放在全局变量中

时间:2015-08-28 11:19:40

标签: javascript function

我有一些来自pubnub的值,我可以在pubnub控制台中看到数据,当我通过chrome控制台看到它时,我的全局变量如何仍然是一个空数组。没有错误这就是我认为我的功能可能出错的原因。

var data = [];
  pubnub = PUBNUB({
        subscribe_key : 'key'
    });


function get_data(){
  data = pubnub.subscribe({
        channel : "channel",
        message : function(message){
        return message
    }
})
}

console.log(data)

2 个答案:

答案 0 :(得分:0)

这将起作用,如果函数内部不存在,data将限定为全局。 JavaScript以这种方式进行词法作用。

答案 1 :(得分:0)

使用window(浏览器)或global(浏览器/节点)分配全局变量。

global["data"]=value;

如果使用窗口,工作人员,子流程等在中间共享数据,则必须特别小心。