【问题标题】:What is the difference between new Object and new Object() in JavaScript [duplicate]JavaScript中的new Object和new Object()有什么区别[重复]
【发布时间】:2012-03-10 17:47:27
【问题描述】:

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

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

var myObject = new Object;

在某些网站上:

var myObject = new Object();

在两个语句之间有什么区别还是一个只是简写?

【问题讨论】:

标签: javascript


【解决方案1】:

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

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

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

【讨论】:

  • +1 很好的答案,不知道最后一件事(在对象函数被覆盖的(不太可能)事件中不受影响。)。
【解决方案2】:

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

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

【讨论】:

  • 这是一个很好的答案,但解释一下为什么会很好。
  • 这不是一个好的答案,因为它没有解决问题。应该是评论。
【解决方案3】:

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

所以 新对象()

new Object

是等价的。

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

【讨论】:

    猜你喜欢
    • 2014-02-10
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多