文字记号VS. 构造函数在JavaScript中创build对象
我从基础学习JavaScript(尽pipe我用C#等其他语言编程)。 这让我想起这两种方法哪一种更有效率,应该作为一般规则来使用。
我确信并且没有期望的答案,但我想知道一般的利弊。
谢谢!!
对象文字通常是要走的路。 加载脚本时只需要parsing,脚本引擎可以引入各种优化。
构造函数需要执行。 这意味着它们会变慢,但是你可以很容易地为它们添加一些validation代码等等,并且允许使用公共的,特权的方法和隐藏在构造函数范围内的私有“属性”来构build复杂的对象。 而且,他们当然会构build共享原型的对象,您可能会发现它很有用。
没有意识到任何一个的性能效率。 然而,由于简单的参数,文字符号似乎得到了它的偏好,因为它避免了使用构造函数和new
关键字。
构造函数和new
关键字被一些JavaScript语言的负面特征看到(见Crockford – JavaScript:The Good Parts)。 当使用new Array()
或new Object()
时,JSLint甚至会调用它。