【问题标题】:Literal notation VS. constructor to create objects in JavaScript [duplicate]文字符号VS。在JavaScript中创建对象的构造函数[重复]
【发布时间】:2012-09-10 17:54:05
【问题描述】:

我正在从基础开始学习 JavaScript(尽管我使用其他语言编程,例如 C#)。我突然想到这两种方式中哪种方式更有效,应该作为一般规则使用。

我确信并期待没有明确的答案,但我想知道一般的利弊。

谢谢!!

【问题讨论】:

标签: javascript


【解决方案1】:

对象文字通常是要走的路。它们只需要在加载脚本时进行解析,可以引入脚本引擎的各种优化。

需要执行构造函数。这意味着它们会更慢,但是您可以轻松地向它们添加一些验证代码等,并且它们允许构造具有公共、特权方法和隐藏在构造函数范围内的私有“属性”的复杂对象。此外,它们当然会构建共享原型的对象,您可能会觉得这很有用。

【讨论】:

    【解决方案2】:

    不知道任何一种性能效率优于另一种。但是,由于其参数简单,并且避免使用构造函数和 new 关键字,文字符号似乎更受青睐。

    构造函数和 new 关键字被某些人视为 JavaScript 语言的负面特性(请参阅 Crockford - JavaScript: The Good Parts)。 JSLint 甚至在发现 new Array()new Object() 使用时都会调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-22
      • 2018-06-11
      • 1970-01-01
      • 2012-05-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 2023-03-15
      相关资源
      最近更新 更多