文字符号VS.构造函数在JavaScript中创建对象

时间:2012-09-10 17:54:06

标签: javascript

我正在学习基础知识的JavaScript(虽然我用其他语言编写,比如C#)。它向我提出了这两种方式中哪种方式更有效并且应该作为一般规则使用的问题。

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

谢谢!

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:4)

不知道其中一个的性能效率。但是,由于简单参数,字面符号似乎得到了它的偏好,并且因为它避免使用构造函数和new关键字。

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