js for循环出错

zhaozhijun1988 2012-01-02 06:19:16
//地标的重新加载
this.reloadMarkers = function(_data){
if(_data.length <= 0)
return false;
for(i = 0;i < _data.length;)
{ alert("数据长度为"+_data.length);
alert("当前循环第"+i+"次");
alert("地标标示"+_data[i].id);
alert("中转数组长度"+newMarkers.length);
if(!this.getMarker(_data[i].id))
{
newMarkers.push(_data[i]);
alert("我进去啦");
}
i++;

}
if(newMarkers)
{
this.addMarker(newMarkers);
newMarkers = [];
}

}

本人遇到个问题,js for循环,这个文件在程序中运行一次、两次、三次、正确,到第四次的时候,就会出现错误,到最后一次for循环中,就会出现死循环, alert("数据长度为"+_data.length);
alert("当前循环第"+i+"次");
alert("地标标示"+_data[i].id);
alert("中转数组长度"+newMarkers.length);
if(!this.getMarker(_data[i].id))
{
newMarkers.push(_data[i]);
alert("我进去啦");
}
i++;总是运行这一段,i不自行加1,是怎么个回事
...全文
316 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhijun1988 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhaozhijun1988 的回复:]

引用 2 楼 zhaozhijun1988 的回复:

引用 1 楼 p2227 的回复:

那你就打断点,每次循环观察变量的值啰。

断点怎么打啊,我写了这么多alert就到最后i不自行加1啦

不会调试啊,解决不了啊郁闷
[/Quote]
谢谢,问题总与解决啦
hch126163 2012-01-09
  • 打赏
  • 举报
回复
alert 会阻隔线程。不用在循环里用alert
zhaozhijun1988 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaozhijun1988 的回复:]

引用 1 楼 p2227 的回复:

那你就打断点,每次循环观察变量的值啰。

断点怎么打啊,我写了这么多alert就到最后i不自行加1啦
[/Quote]
不会调试啊,解决不了啊郁闷
p2227 2012-01-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhaozhijun1988 的回复:]

引用 1 楼 p2227 的回复:

那你就打断点,每次循环观察变量的值啰。

断点怎么打啊,我写了这么多alert就到最后i不自行加1啦
[/Quote]IE8+ 和chrome按F12,ff安装firebug后按F12
zhaozhijun1988 2012-01-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 p2227 的回复:]

那你就打断点,每次循环观察变量的值啰。
[/Quote]
断点怎么打啊,我写了这么多alert就到最后i不自行加1啦
p2227 2012-01-02
  • 打赏
  • 举报
回复
那你就打断点,每次循环观察变量的值啰。

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧