引用和未引用的JavaScript对象属性/方法名称之间是否存在差异?
例如,这两者之间有什么区别:
var obj1 = {
property1 : "Value 1",
method1 : function() {
return true;
}
};
var obj2 = {
"property1" : "Value 1",
"method1" : function() {
return true;
}
};
答案 0 :(得分:10)
JavaScript没有区别。但是,您必须引用恰好是保留字的属性名称(例如class
)或包含无效字符的名称(例如first-name
)。
答案 1 :(得分:5)
在ES 3之前,您需要引用该语言的 reserved words (新的,默认的,类等)。但是,在新版本中,这是不必要的。
但是由于ES 5还没有得到很好的支持,你需要坚持引用所有 reserved words 。
如果您不想记住完整的单词列表,最好引用所有内容。
额外:这就是您在元素上没有float
和class
属性的原因。您必须改为使用cssFloat/styleFloat
和className
。
另一个补充是你需要引用JSON字符串中的每个键。原因是因为他们希望它与语言无关,以免干扰像ES3那样的愚蠢限制。