0

好吧..我真的一定是疯了。为什么这些不会为“a”打印出 3-5?我尝试了两种不同的方法来将数组存储在下面的 3-5 处,它们看起来都......很明显。基础翻译中一定有一些我没有看到的东西。

<script>
    var articlesKey = [];
    for(var i = 3; i < 6; i++) {
        articlesKey.push(i);
        document.write('<br>i:'+i);
    }
    for (a in articlesKey)
        document.write("<br>a:"+a);


    articlesKey = [];
    var count = 0;
    for(var i = 3; i < 6; i++) {
        articlesKey[count] = i;
        document.write('<br>i:'+i);
        count++;
    }
    for (a in articlesKey)
        document.write("<br>a:"+a);
</script>

它打印出来:

i:3
i:4
i:5
a:0
a:1
a:2
i:3
i:4
i:5
a:0
a:1
a:2
4

2 回答 2

3

for( a in articlesKey)遍历aKEYS articlesKey(然后让您将值作为articlesKey[a])。这里没有错。

于 2012-04-08T21:55:16.330 回答
0

这很简单,因为 a 表示循环中的数组索引,而不是索引处的值。使固定:

document.write("<br>a:"+articlesKey[a]);
于 2012-04-08T21:57:37.827 回答