JavaScript中的新Object和新Object()之间有什么区别

时间:2012-02-20 11:17:16

标签: javascript

  

可能重复:
  new MyObject(); vs new MyObject;

在一些文章中,我看到以下语句在JavaScript中创建新对象:

var myObject = new Object;

并在某些网站上:

var myObject = new Object();

两个陈述之间有什么区别,或者一个只是简写?

3 个答案:

答案 0 :(得分:8)

没有区别。当使用函数作为构造函数(即使用new运算符)且没有参数时,括号是可选的。不使用new运算符时,调用函数时始终需要括号。

如另一个答案中所述,通常最好使用对象字面值。与使用Object构造函数相比,它具有以下优点:

  • 允许简明地初始化属性(例如var foo = { bar: "cheese" };
  • 更短的
  • 可能更快
  • Object函数被覆盖的(不太可能的)事件中不受影响。

答案 1 :(得分:1)

简单回答 - 不要使用该语法。在JavaScript中创建对象的首选方法是使用以下语法:

var myObject = {}; // creates an empty object

答案 2 :(得分:1)

没有区别。只是在这种特殊情况下,您可以省略()

所以     new Object()

new Object

是等价的。

顺便说一句,使用new Object()而不是{}也没有区别。使用你喜欢的任何东西。