Javascript中的Array()和[]之间有什么区别?为什么要使用一个而不是另一个?
可能重复:Javascript中的Array()和[]之间有什么区别?为什么要使用一个而不是另一个?,javascript,arrays,literals,Javascript,Arrays,Literals,可能重复: 在JavaScript中,您可以创建一个新数组,如: var arr = new Array(); 或者说: var arr2 = []; 有什么区别?为什么你会选择一个而不是另一个呢?我相信它们是一样的。我从不使用新数组() 新数组(2)生成一个大小为2的数组,其中包含两个未定义的s[2]生成一个大小为1的数组,其中包含数字2new ArrayIMO不符合JavaScript的精神,尽管它可能使数组构造更易于查找。这可能重要,也可能不重要(我几乎只在JavaScript中为所
在JavaScript中,您可以创建一个新数组,如:
var arr = new Array();
或者说:
var arr2 = [];
有什么区别?为什么你会选择一个而不是另一个呢?我相信它们是一样的。我从不使用新数组()
新数组(2)
生成一个大小为2的数组,其中包含两个未定义的s<代码>[2]
生成一个大小为1的数组,其中包含数字2new Array
IMO不符合JavaScript的精神,尽管它可能使数组构造更易于查找。这可能重要,也可能不重要(我几乎只在JavaScript中为所有适用的类型使用文字,并且我已经成功地编写/维护了大量JavaScript[30-50 KLOC])
编辑我想经验丰富的javascript程序员避免新数组
语法的原因是:
- 它在参数编号和类型(
(新数组(X))之间的行为并不一致。对于任何X
,只要typeof(X)!=“number”
- 它更冗长,你唯一得到的是不规则
使用[]
优先于新数组()
的另一个(次要)原因是数组
可能被覆盖(尽管我从未见过这种情况发生过),并且[]
保证工作正常
Array = "something";
var a = new Array(); // Fails
var b = []; // Works
据我所知,它做同样的事情。使用你喜欢的任何一种。哇,愚蠢的是,当我问这个问题时,DUP检测器没有检测到这个。问题几乎是一样的…同意,两种方法可以制作相同的东西,但你为什么不使用新的数组()?我知道最“有经验的”JavaScript开发人员不喜欢,但为什么不呢?第一个要点非常完美。这正是我想要的。谢谢!