将关联数组声明为新的Array()与将关联数组声明为对象{}相同?

时间:2013-04-18 19:51:39

标签: javascript arrays

对象whiteStripes在两种情况下是否完全相同?

var whiteStripes = {'Jack' : 'White', 'Meg' : 'White'};

var whiteStripes = new Array();
whiteStripes['Jack'] = 'White';
whiteStripes['Meg'] = 'White';

2 个答案:

答案 0 :(得分:4)

虽然在声明whiteStripes['Jack']时你仍然可以在两个实例中以相同的方式(whiteStripes = new Array();)访问属性,但是你说它具有像{{{{{}这样的数组的所有属性和属性。 1}}例如。如果您不打算将其用作真实数组(lengthpoppush等),请不要使用JavaScript数组。

答案 1 :(得分:3)

不,这不完全一样。

两者都可以,因为一个数组一个对象,但是如果你只想要一个对象,就不应该创建一个数组来获得一个。

这将导致创建完全相同的事物:

var whiteStripes = {'Jack' : 'White', 'Meg' : 'White'};

var whiteStripes = new Object();
whiteStripes['Jack'] = 'White';
whiteStripes['Meg'] = 'White';