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