javascript for循环不按预期运行

时间:2011-03-04 22:58:50

标签: javascript

我知道这是非常基本的,但我是Javascript的新手

这是我正在为一个班级

进行的战舰游戏中的一段代码
function displayMyBoats(ship){

    for (var i = 0; i<ship.length; i++) 
    {
        alert("ship.length = " + ship.length);
        alert("Ship[i]= " + ship[i]);
        document.getElementById( "Set_" + ship[i] ).src = fnImageShip;
        alert("i = " + i);
    }
}

我正在使用5个元素的船舶数组进行测试。一切正常,直到它达到5,然后突然它认为数组的长度是8。

没有代码来增加ship数组的长度,那么是什么会导致它添加到数组的长度?

警报是我测试以查看所有值的所在。

2 个答案:

答案 0 :(得分:2)

要提示您,请在脚本进入或退出displayMyBoats()时尝试添加提醒。突然跳到8表示它正在第二次进入该方法,这次是使用len 8的船。

通过在你的for循环块之后添加此警告来确认或否认这一理论:

 alert('exiting displayMyBoats()');`

答案 1 :(得分:1)

如果您使用console.log(发货),也许您会看到更多;而不是alert(); - 如果您使用的是Firebug / Console。