不循环for循环 - javascript

时间:2015-03-18 22:38:38

标签: javascript loops for-loop

以下代码中的for循环似乎没有被激活。

var updateMobs = function(){
    for (var b = 0; b < mobsBlue; b++){
        BM = mobsBlue[b]
        BM.x = BM.x - 1

        doCollision(BM, redBase, BM)
        doCollision(BM, debugPlayer, BM)
        console.log("draw1")
        BM.Draw(ctx, false)
    }
    for (var r = 0; r < mobsRed; r++){
        RM = mobsRed[r]
        RM.x = RM.x + 1

        doCollision(RM, blueBase, RM)   
        doCollision(RM, debugPlayer, RM)
        console.log("draw2")
        RM.Draw(ctx, false)
        for (var bb = 0; bb < mobsBlue; bb++){
            BM = mobsBlue[bb]
            console.log("draw3")
            BM.Draw(ctx, false)
            RM.Draw(ctx, false)
        }

    }

}

另外,请随意评论我可以对我的代码做的任何改进,以使这项工作更好,如果你有任何。我也明白我的javascript结尾处没有半冒号,所以不要在那个评论我

我没有任何错误,mobsBlue和mobsRed都是数组。

另外,我在循环中调用此函数。

我很抱歉侮辱。这是不必要的,我应该提出这个问题:|。谢谢你帮我解决了

我真诚的道歉

2 个答案:

答案 0 :(得分:4)

由于这是一项功能,请务必使用updateMobs();

进行调用

我相信mobsBluemobsRed是数组(因为您调用mobsBlue[b]并将其编入索引),因此对于for循环,您希望循环{{1 }}

因此:

&#13;
&#13;
for (var b = 0; b < mobsBlue.length; b++){
&#13;
&#13;
&#13;

以下是您编辑的代码:

var arr = [1, 2, 3, 4]
for(var i = 0;i < arr.length;i++){
    item = arr[i]
    alert(item)
}

答案 1 :(得分:1)

#1 打电话给那些无法理解这个简单代码的人。是非常令人反感的。

#2 您是否在其他代码中的某处调用了updateMobs函数?

#3 我假设mobsBlue是一个像 njzk2 这样的数组说,也许你想要得到它的长度?使用方法:

for (var b = 0; b < mobsBlue.length; b++)

同样适用于mobsRed。