简单的javascript for循环没有按照我认为应该的方式运行 对于(var i=0;i
您必须私有化i:简单的javascript for循环没有按照我认为应该的方式运行 对于(var i=0;i,javascript,google-maps,Javascript,Google Maps,您必须私有化i: for (var i=0; i<Gmaps.map.markers.length; i++) { google.maps.event.addListener(Gmaps.map.markers[i].serviceObject, 'click', function(object){ alert(Gmaps.map.markers[i]); }); }; for(var i=0;它很管用。哇。我并不声称自己是这方面的专家,但我已经在这方面修修补补了大约一
for (var i=0; i<Gmaps.map.markers.length; i++) {
google.maps.event.addListener(Gmaps.map.markers[i].serviceObject, 'click', function(object){
alert(Gmaps.map.markers[i]);
});
};
for(var i=0;它很管用。哇。我并不声称自己是这方面的专家,但我已经在这方面修修补补了大约一年,私有化的概念从未出现过。奇怪。谢谢!循环没有作用域,但函数有作用域。我几乎总是使用.map而不是for,如果可以的话。使用“Gmaps.map.markers.map(function)”(mark,i){”,“Gmaps.map.markers[i]”变成了“mark”,而“i”是自动的和私有的。
for (var i=0; i<Gmaps.map.markers.length; i++) {
(function(i){
google.maps.event.addListener(Gmaps.map.markers[i].serviceObject, 'click', function(object){
alert(Gmaps.map.markers[i]);
});
}(i));
};