0
这里是代码别人张贴的解决方案:在for循环中使用getJSON,为什么我必须分配一个函数来保存计数器的值?
for (var i = 0; i < array.length; i++) {
(function(i) { // protects i in an immediately called function
$.getJSON('/api.php?action=query&list=querypage&qppage=' + array[i] + '&format=json', function (data) {
$('#' + array[i]).text(data.query.querypage.results.length);
});
})(i);
}
具体来说,什么是(我)做在函数的结束?
因为它是异步的 – adeneo
[JavaScript闭合内循环 - 简单实用的例子](http://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) – adeneo
你正在通过IIFE的循环索引作为参数,所以它的本地范围在该函数中。 – Andy