Mostly , people use var a = []
because Douglas Crockford says so .
(大多数情况下 ,人们使用var a = []
因为Douglas Crockford这么说 。)
His reasons include the non-intuitive and inconsistent behaviour of new Array()
:
(他的原因包括new Array()
的非直观和不一致的行为:)
var a = new Array(5); // an array pre-sized to 5 elements long
var b = new Array(5, 10); // an array with two elements in it
Note that there's no way with new Array()
to create an array with just one pre-specified number element in it!
(请注意, new Array()
没有办法创建一个只有一个预先指定的数字元素的数组!)
Using []
is actually more efficient, and safer too !
(使用[]
实际上更有效, 也更安全 !)
It's possible to overwrite the Array
constructor and make it do odd things, but you can't overwrite the behaviour of []
.(可以覆盖Array
构造函数并使它做奇怪的事情,但你不能覆盖[]
的行为。)
Personally, I always use the []
syntax, and similarly always use {}
syntax in place of new Object()
.
(就个人而言,我总是使用[]
语法,同样总是使用{}
语法代替new Object()
。)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…