由于$.getJSON
是异步的,我认为你的console.log(list.length);
代码在填充数组之前就已经开始了.要纠正这个问题,请将您的console.log
陈述放入回调中:
var list = new Array(); $.getJSON("json.js", function(data) { $.each(data, function(i, item) { console.log(item.text); list.push(item.text); }); console.log(list.length); });