var foo = {}
var bar = new Array();
var another = [];
此外,是否可以像这样添加foo
:
foo['obj'] = new Date();
答案 0 :(得分:5)
var foo = {};
foo
是一个对象文字。
var bar = new Array();
bar
是通过Array
构造函数初始化的数组。
var another = [];
another
是一个数组文字。通过文字创建新数组比通过Array
构造函数更有效:http://jsperf.com/new-array并且输入也更容易;)我建议尽可能使用数组文字。
此外,是否可以像这样添加foo:
foo['obj'] = new Date();
是。这会将属性obj
添加到foo
,其值为new Date()
。它是equivalent到foo.obj = new Date();
。
答案 1 :(得分:1)
foo
是一个对象,而不是一个数组。
bar
和another
是数组。
如果您提供foo['obj'] = new Date();
,obj
将成为foo的属性。
答案 2 :(得分:1)
var foo = {}
这是一个对象,而不是一个数组。
var bar = new Array();
这是数组but avoid new
keyword with arrays。
var another = [];
这是初始化数组的正确方法。
另外,是否可以像这样添加foo:foo ['obj'] = new Date();
JS中没有关联数组。你可以这样做:
var foo = {};
var foo['obj'] = new Date();
答案 3 :(得分:0)
bar 和另一个是相同的,但是:
var foo = {};
foo不是数组而是对象
foo['obj'] = new Date(); //same as
foo.obj = new Date();
f ['obj'] 的优点是你可以使用无效的标识符字符ex:
foo['test-me'] // is valid
foo.test-me //not valid
答案 4 :(得分:0)
var foo = {} is for object referal,
foo = {myCar: "Saturn", getCar: CarTypes("Honda"), special: Sales}
而
var bar = new Array();
用于创建新的空数组。
但var another = [];
可用于分配任何数组空值以及创建空数组。
我认为,对于约会,您可以使用foo[1] = new Date();