我有以下测试代码:
console.log('AA',slider);
console.log('AB',slider.length);
它在chrome控制台中返回以下内容。
AA Array[53]
AB 0
我添加了测试代码,因为slider[5]
总是带着undefined
回来,即使控制台显示那里有值。
这是初始化脚本的简化版本。整个代码很长,Slider是一个对象。对象的代码正在运行测试脚本稍后尝试根据ajax返回数据操作特定的滑块位置。
var slider=[];
for (var uid=1;uid<50;uid++) {
slider[uid]=new Slider(.........);
}
var slider={};
for (var uid=1;uid<50;uid++) {
slider[uid]=new Slider(.........);
}
返回 AA { 1:{米 一个: ...., b:......, C: ...., G: ...., H: .... }, 2:.....
一直到49
答案 0 :(得分:0)
好的,我发现了问题,希望这有助于其他人。
完成代码后,这是一个更好的初始化示例
var slider=[];
setInterval(function(){
for (var uid=1;uid<50;uid++) {
slider[uid]=new Slider(.........);
}
},500);
console.log('AA',slider);
console.log('AB',slider.length);
在执行控制台日志命令时,数组确实是空的,但显然第一行记录了对象的引用,而不是当前状态。因此,当我查看日志总是会超过半秒时,它会显示数据存在。