Javascript for循环数组长度

时间:2017-03-31 19:02:49

标签: javascript arrays variables scope push

我是javascript的新手,我有这个非常简单的问题。

    var counters = [];
    for (var i = 0; i < 3; i++) {
        counters.push[i];
    }
    alert(counters.length);

此代码预计会提醒3,但真正的结果是0.有人可以请这个给我。我不确定如何询问此错误。感谢

对不起这个问题..我修好了。谢谢你的回答

由于没有足够的业力,我无法提出另一个问题..但我真正的问题是这个

for (var i = 0; i < 2; i++) {
if (i == 1) {document.write(" <tr class='noBorder' onclick='alert(i)');} 
if (i == 0){ document.write(" <tr class='noBorder' onclick='alert(i)');}
}

每当我点击一行时,警报就会产生2。  它基本上就是这个问题,但是在html中 Passing parameter onclick, in a loop

2 个答案:

答案 0 :(得分:2)

如果要推入数组,则需要推送值,语法为: array.push(value)

正确的方法是:

    var counters = [];
    for (var i = 0; i < 3; i++) {
        counters.push(i);
    }
    alert(counters.length);

答案 1 :(得分:1)

counters.push[i];

应该是

counters.push(i);

counters[i] = i;

()用于方法调用。 push是一种可用于数组类型的所有对象的方法,因此在这种情况下,您应该使用()向数组添加值。

[]用于访问对象的(命名的动态)属性。

var obj = {
   a : 10,
   c : function() {
       return 20;
   } 
};

在上述用例中,要访问ab的值,您可以使用.[]来访问对象的属性。

obj.a  || obj['a'];
obj.b()  || obj['b']();

由于属性c是一个函数,您首先要使用[]访问该属性,然后使用()

调用该函数