我正在从基础学习 JavaScript(尽管我使用其他语言编程,例如 C#)。我突然想到这两种方式中哪种方式更有效,应该作为一般规则使用。
我确信并期待没有明确的答案,但我想知道一般的利弊。
谢谢!!
我正在从基础学习 JavaScript(尽管我使用其他语言编程,例如 C#)。我突然想到这两种方式中哪种方式更有效,应该作为一般规则使用。
我确信并期待没有明确的答案,但我想知道一般的利弊。
谢谢!!
对象文字通常是要走的路。它们只需要在加载脚本时进行解析,就可以引入脚本引擎的各种优化。
构造函数需要被执行。这意味着它们会更慢,但是您可以轻松地向它们添加一些验证代码等,并且它们允许构造具有公共、特权方法和隐藏在构造函数范围内的私有“属性”的复杂对象。此外,它们当然会构建共享原型的对象,您可能会发现这很有用。
不知道其中一个的任何性能效率。然而,由于简单的参数,以及避免使用构造函数和new
关键字,文字符号似乎得到了它的偏好。
构造函数和new
关键字被一些人视为 JavaScript 语言的负面特性(参见 Crockford - JavaScript: The Good Parts)。JSLint 甚至在查找new Array()
或new Object()
使用时都会调用。