文本表示法VS.构造函数,用于在JavaScript中创建对象



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

我确信,也不希望得到确切的答案,但我想知道一般的利弊。

谢谢!!

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

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

没有意识到一个比另一个的任何性能效率。然而,由于简单性参数,以及避免使用构造函数和new关键字,文字表示法似乎得到了它的偏好。

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

最新更新