引用和未引用的JavaScript对象属性之间的区别

时间:2010-07-07 12:14:25

标签: javascript object

引用和未引用的JavaScript对象属性/方法名称之间是否存在差异?

例如,这两者之间有什么区别:

var obj1 = {
  property1 : "Value 1",
  method1 : function() {
    return true;
  }
};

var obj2 = {
  "property1" : "Value 1",
  "method1" : function() {
    return true;
  }
};

2 个答案:

答案 0 :(得分:10)

JavaScript没有区别。但是,您必须引用恰好是保留字的属性名称(例如class)或包含无效字符的名称(例如first-name)。

答案 1 :(得分:5)

在ES 3之前,您需要引用该语言的 reserved words (新的,默认的,类等)。但是,在新版本中,这是不必要的。

但是由于ES 5还没有得到很好的支持,你需要坚持引用所有 reserved words

如果您不想记住完整的单词列表,最好引用所有内容。

额外:这就是您在元素上没有floatclass属性的原因。您必须改为使用cssFloat/styleFloatclassName

另一个补充是你需要引用JSON字符串中的每个键。原因是因为他们希望它与语言无关,以免干扰像ES3那样的愚蠢限制。