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