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

What is the difference between new Object and new Object() in JavaScript

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
new MyObject(); vs new MyObject;

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

1
var myObject = new Object;

在某些地方:

1
var myObject = new Object();

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


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

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

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


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

所以
新对象()

1
new Object

是等价的。

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


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

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