昨晚,我谷歌搜索了很多,找不到解决方案,我的问题: 我有一个for
循环与一个函数,它只让我从数组中的最新值。如何在JavaScript中实现这个函数的闭包?
所以,这里是例子:
obj1.route = new Routeng();
obj2.route = new Routeng();
for(var x in arrObjs) { //arrObjs = array of objects
var g = arrObjs[x];
// I can access properties of all "g" objects
Routelousse.gen(function(res) {
var pathern = res.pathern;
g.routel.staviPather(pathern);
MYOBJ.vehicles.push(g);
alert(g.name); // during the loop I always get the LAST "g" object from "arrObjs"
}, g.point);
}
不清楚(对我)你要求什么? – annakata 2010-11-17 10:09:00
@annakata - 因为JavaScript在这里没有代码块范围,所以''''循环传递每次都使用相同的'g',所以在异步函数完成时使用不正确的代码。 – 2010-11-17 10:11:26
@annakata - thanx,但尼克解决了我的问题! – 2010-11-17 10:14:30