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

dal*_*jit 4 javascript

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

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

var myObject = new Object;
Run Code Online (Sandbox Code Playgroud)

在某些地方:

var myObject = new Object();
Run Code Online (Sandbox Code Playgroud)

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

Tim*_*own 8

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

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

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