1

変数を配列またはオブジェクトとして宣言してから要素を追加すると、違いに気付きます。

変数を次のように宣言すると、次のようになります。

var my_array = [];
my_array["a"] = 'first';
my_array["b"] = 'second';
console.log(my_array);

次の結果が得られます。

[a: "first", b: "second"] 

しかし、私が次のことをするとき:

var my_array = {};
my_array["a"] = 'first';
my_array["b"] = 'second';
console.log(my_array);

これは私が得る結果です:

Object {a: "first", b: "second"} 

ここで本当に何が起こっているのですか?!一方は標準で、もう一方は標準ではありませんか?!互換性の欠点は何ですか?!

前もって感謝します。

PS私はGoogleChromeを使用しています。

4

2 に答える 2

2

1つ目は配列で、2つ目はオブジェクトです。これは、目標に応じてdepansを使用します。配列が必要な場合は、「配列」オブジェクトを使用するよりも配列の方が便利で効率的です。

さらに、次のようにオブジェクトを使用できます。 myObject.a

配列は次のようにのみ使用できますが、次のようになります。myArray["a"]

もう1つの違いはtoStringメソッドにあります。配列の場合はBanana,Orange,Apple,Mango(たとえば)を返し、オブジェクトの場合は[object Object](たとえば)を返します。

さらに読むために:配列とオブジェクトの違いは何ですか?

が配列かどうかを確認します。

function isArray(obj) {
    return Object.prototype.toString.call(obj) === "[object Array]";
}
于 2012-11-27T11:19:22.120 に答える
0

それらは2つの異なるオブジェクトです。2番目はJSON応答に使用し、最初はコードでの通常の使用に使用します。

于 2012-11-27T11:20:12.367 に答える