如何解决在 Javascript 中声明数组时要遵循的最佳实践是什么??

大多数情况下 ,人们使用Douglas Crockford 是var a = []因为pythonscript-we-hardly-new-ya/">Douglas Crockford
这么说的。

他的原因包括以下非直觉和不一致的行为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

请注意,无法new Array()创建仅 包含一个 预先指定的数字元素的数组!

使用[]实际上更有效,也更安全!可以覆盖Array构造函数并让它做一些奇怪的事情,但你不能覆盖[].

就个人而言,我总是使用[]语法,同样总是使用{}语法代替new Object().

解决方法

当我需要声明一个新数组时,我使用这个符号

var arr = new Array();

但是当在线测试时,例如在jsbin上,一个警告信号告诉我“使用数组文字符号
[]”。

我没有找到避免使用构造函数的理由。在某种程度上比使用效率低[]吗?或者这是不好的做法?

是否有充分的理由使用var arr = [];而不是var arr = new Array();