0

当我尝试将元素推送到 javascript 数组中时,它不起作用。这是我能想到的最简单的示例。为什么这不起作用?

    <!DOCTYPE html>
    <html>
    <body>

    <script>
    var i;
    var mycars = new Array();

    for(i=1;i<=10;i++){
      mycars.push[ i.toString()+"-" ];
    }

    alert(mycars.join(""));

    </script>

    </body>
    </html>
4

1 回答 1

3

push是一个函数。()你用, not调用函数[]

mycars.push( i.toString()+"-" );
// here ---^     and here ----^

您可能感到困惑的地方是,您可以在不使用 的情况下添加到数组中push,只需分配给数组元素,即使该元素尚不存在。例如,您的循环可能如下所示:

for(i=1;i<=10;i++){
  mycars[mycars.length] = i.toString()+"-";
}

在那里,因为我指的是数组元素 ( mycars[mycars.length]),而不是调用函数,所以我使用[].

旁注:而不是var mycars = new Array();,只写var mycars = [];。它做同样的事情,但更简洁,不易产生副作用。

于 2012-12-20T16:20:45.633 回答