7

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

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

谢谢!!

4

2 回答 2

9

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

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

于 2012-09-10T18:03:19.223 回答
3

不知道其中一个的任何性能效率。然而,由于简单的参数,以及避免使用构造函数和new关键字,文字符号似乎得到了它的偏好。

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

于 2012-09-10T18:59:29.233 回答