【发布时间】:2011-08-15 04:22:29
【问题描述】:
我刚开始考虑这个问题,但是在 jsFiddle 闲逛时无法暴露自己的任何差异。
var a = new Array(1),
b = Array(1);
console.log(a, b);
输出是具有一个未定义成员的两个数组。
for ( in ) 表明它们具有相同的属性。
它们之间有什么区别?第一个是否只是显式地实例化对象?
请不要教我如何使用数组文字符号,因为我已经知道了。我更希望填补上面解释的我的知识空白。
【问题讨论】:
-
我将猛烈抨击它,并说 new 意味着它是一个对象,就像没有 new 的对象一样。带有 new 的将具有此处所述的方法w3schools.com/jsref/jsref_obj_array.asp 而没有 new 的则不会。
-
@Flipper 我遍历了每个属性,它们似乎都有相同的方法。
-
@alex 是的,我刚才做了同样的事情,但没有发现不同之处。我只留下评论而不是答案是有原因的。不过要对这个问题投赞成票!
-
看起来像调用Array()作为函数也返回一个数组对象,就像调用new Array()一样
标签: javascript