3

このコードに出くわし、頭を悩ませ、インデックスを設定するために長さを取得することの利点を疑問に思いました。

var thisarray = new Array();

    function addtoArray(int){
        thisarray[thisarray.length] = int;
    }

array.push の上

 function addtoArray(int){
        thisarray.push(int)
    }

また、このphpに相当するものはありますか

thisarray[]
4

2 に答える 2

4

投稿した例では、2 つの用途は同じです。どちらも配列の末尾に新しい要素を追加します。

ただし、push()メソッドは複数の引数を取ることができるため、1 つのステートメントで配列の末尾に複数の要素を追加できます。push()次に、配列の新しい長さを返します。push()また、より短く、間違いなく読みやすくなっています。

考慮すべきもう 1 つの点は、thisarrayが正しく定義されていない (つまり、Array オブジェクトではない) 場合、単純に になるthisarray[thisarray.length] = int;ため、サイレントに失敗する可能性が高いことです。一方、トラップ可能な TypeError 例外で失敗します。.lengthundefinedthisarray.push(int)

PHPのthisarray[](角括弧)構文について。構文に関する限り、JavaScript にはまったく同じものはありません。ただし、thisarray[thisarray.length] = int;同じアクションを実行します。

于 2013-07-09T15:43:19.057 に答える