【发布时间】:2011-06-03 15:10:30
【问题描述】:
这种基于构造函数的创建对象的语法有什么区别:
person = new Object()
...和这个字面语法:
person = {
property1 : "Hello"
};
看起来两者都做同样的事情,尽管 JSLint 更喜欢你使用对象文字表示法。
哪个更好,为什么?
【问题讨论】:
-
都一样:
a = new Object,a = new Object(),a = {},文字要简单得多,我前段时间运行的一些测试说它更快,较新的编译器可能导致我的语句错误的。同样适用于文字数组 -
-
基本上,在程序执行过程中的任何时候,都会有一堆记录或块。每条记录都有一个在该范围内创建的变量列表。在 JavaScript 中,如果一个表达式包含一个变量并且解释器在该范围的堆栈记录中找不到它,它将继续查找下一条记录,直到找到该变量。更多信息davidshariff.com/blog/…
-
避免使用 JSLint 是成为优秀开发人员的第一步。使用
new是一种超越平庸语言毫无意义的吹毛求疵的约定。使用new,因为它的含义很明确。在 99.9% 的情况下,性能提升是无关紧要的。 -
@Hal50000 根据谁的平庸语言?
标签: javascript object jslint