【发布时间】:2014-08-25 15:14:16
【问题描述】:
我有这个:
$(document).ready(function(){
pubnub.subscribe ({
connect: function(m){
var channelLatestMessages = [];
pubnub.history({
channel: broadcastChannel,
count: 1,
callback: function (m) {
if(m[0].length > 0)
{
$.each(m[0], function(index, value){
channelLatestMessages.push(value);
});
}
//THE NUMBER OF MESSAGE OBJECTS RETURNED IS 2
//HERE THE OUTPUT IS 2
console.info(channelLatestMessages.length);
},
});
//THE NUMBER OF MESSAGE OBJECTS RETURNED IS 2
//HERE THE OUTPUT IS 0
console.info(channelLatestMessages);
}
});
});
如果我声明:
channelLatestMessages = [];
没有 var 关键字并且在 Firebug 控制台中出现页面加载问题后:
console.info(channelLatestMessages.length);
号码是2。
但我在代码中再次得到0 的channelLatestMessages.length 值。
这怎么可能???
【问题讨论】:
标签: javascript variables scope anonymous-function