我在这里遇到一些JavaScript范围问题,我不明白为什么。 我的代码如下:
var objArray = [] //imagine full array
function addDo(){
for(var i = 0; i< objArray.length; i++){
objArray[i].do = function(){
console.log(i);
}
}
}
问题是我总是记录为undefined
。我怎样才能做到这一点?我在异步调用方面遇到了类似的问题,但设法使用闭包来解决它们。我可以在这做同样的事吗?