JavaScript:如何定义“对象”
2010-11-12
434
我正在使用非常方便的 JSLint 工具来确保我的 javascript 是严格的。
我有以下被 JSLint 标记的代码:
var my_obj = new Object(); // <-- JSLint states "Use the object literal notation {}."
var numKP = 1;
while (query.indexOf('&') > -1) {
keypairs[numKP] = query.substring(0,query.indexOf('&'));
query = query.substring((query.indexOf('&')) + 1);
numKP++;
}
keypairs[numKP] = query;
for (i in keypairs) {
my_obj[keypairs] = keypairs[i];
}
我应该如何修复上述代码以使其成为 JavaScript“严格”(通过 JSLint 验证器)?
2个回答
实际上,正如消息中所述:
var my_obj = {};
这定义了一个没有显式属性的对象,这相当于您正在执行的操作,但从 JSLint 的角度来看更好。(
我认为这是因为它没有显式调用构造函数,但老实说,我真的不知道
编辑:根据
ECMAScript 规范
第 11.1.5 节,它完全等同于
new Object()
。我想这很酷,因为它更短,而且不容易出现拼写错误。)
Andrzej Doyle
2010-11-12
只需执行
var my_obj = {};
{} 是用于创建对象文字的 javascript 符号。
hvgotcodes
2010-11-12