设置循环以在地图上设置标记:
for (i = 0; i <= 6; i++) {
_coord = prj_markers[i];
alert(i);
instance.set_marker(instance, provider, i, _coord, divBlock);
}
此代码警告“0”一次并执行instance.set_marker(因为它可见)。
执行后设置警告instance.set_marker:
for (i = 0; i <= 6; i++) {
_coord = prj_markers[i];
instance.set_marker(instance, provider, i, _coord, divBlock);
alert(i);
}
警告“6”ONCE,但必须提醒六次。发生了什么事?
答案 0 :(得分:0)
尝试在for语句的开头以这种方式声明初始变量。
for (var i = 0; ...
答案 1 :(得分:0)
for循环使用i
作为全局变量,所以如果你的instance.set_marker
函数也使用i
作为全局变量并将其值设置为大于6的循环将退出。
尝试更改变量名称,并使用var
语句将其设为局部变量:
for (var SomeOtherName = 0; SomeOtherName<= 6; SomeOtherName++) {
_coord = prj_markers[SomeOtherName];
instance.set_marker(instance, provider, SomeOtherName, _coord, divBlock);
alert(SomeOtherName);
}