我有以下代码,它返回h=30
而不是循环中的每个值。
for (var h = 0; h < 31; h++) {
$.getJSON('http://google.com/',
function(data) {
console.log('line ' + h);
}
)
};
我需要做什么才能获得循环值?
答案 0 :(得分:1)
使用IIFE
进行关闭for (var h = 0; h < 31; h++) {
(function(h) {
$.getJSON('http://google.com/', function(data) {......
console.log('line ' + h);
})
})(h)
};
这样,h
的值将保留用于该迭代,而不是在被调回getJSON
时被设置为最后一个值