之间有什么区别(如果有的话)
x = Array()
和
x = new Array()
我应该使用哪一个?
原文由 scravy 发布,翻译遵循 CC BY-SA 4.0 许可协议
之间有什么区别(如果有的话)
x = Array()
和
x = new Array()
我应该使用哪一个?
原文由 scravy 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该使用文字 []
。 此处 概述了原因。使用 Array()
构造函数可能会产生歧义,因为它接受 length
或元素列表:
new Array(5) // [ , , , , ]
new Array('5') // ['5']
[5] // [5]
['5'] // ['5']
您可以使用 Array
而不使用 new
运算符的原因是它在内部对构造函数做了一个常见的技巧:
function Thing(){
if (!(this instanceof Thing)){
return new Thing()
}
// ... define object
}
也就是说,如果您调用 Thing()
它会为您调用 new Thing()
。
原文由 Ricardo Tomasi 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
规范 说: