引用和未引用JavaScript对象属性之间的差异
引用的和未引用的JavaScript对象属性/方法名称之间是否存在差异 例如,这两者之间的区别是什么:引用和未引用JavaScript对象属性之间的差异,javascript,object,Javascript,Object,引用的和未引用的JavaScript对象属性/方法名称之间是否存在差异 例如,这两者之间的区别是什么: var obj1 = { property1 : "Value 1", method1 : function() { return true; } }; var obj2 = { "property1" : "Value 1", "method1" : function() { return true; } }; JavaScript中没有区别。但是
var obj1 = {
property1 : "Value 1",
method1 : function() {
return true;
}
};
var obj2 = {
"property1" : "Value 1",
"method1" : function() {
return true;
}
};
JavaScript中没有区别。但是,您必须引用恰好是保留字的属性名称(如
class
),或包含无效字符的名称(如first name
)。直到ES 3,您需要引用该语言的(新的、默认的、类等)。然而,在新版本中,这是不必要的
但是由于ES5还没有得到很好的支持,您需要坚持引用all
如果你不想记住完整的单词列表,最好把所有的单词都引用出来
额外:这就是为什么元素上没有float
和class
属性的原因。您必须使用cssFloat/styleFloat
和className
另外,您需要引用JSON字符串中的每个键。原因是他们希望它独立于语言,以避免干扰ES3中的愚蠢限制。因此,我认为,这实际上只是编码风格的问题。但是由于必须引用保留字对JavaScript造成了限制,因此始终引用属性/方法应该更为一致。@jindrichm:是的,您可以在引用所有属性名时保持一致,但另一方面,您也可以在使用有效变量名的属性名时保持一致。一般来说,我倾向于不引用,但我不是特别致力于这两种风格。。。请注意,如果您使用的属性名称不是有效的变量名称,您将无法使用点符号访问属性:
myObject.myProperty
,但您将仅限于使用下标符号:myObject['myProperty']
。我想您指的是ES3,因为ES3.1只是针对ES5,当ES4被放弃的时候。是的,我只是在快速打字,忘了检查,thx的打字错误…:)