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

Jin*_*arz 10 javascript object

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

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

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

var obj2 = {
  "property1" : "Value 1",
  "method1" : function() {
    return true;
  }
};
Run Code Online (Sandbox Code Playgroud)

Dan*_*llo 10

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

  • @jindrichm:是的,您可以在引用所有属性名称时保持一致,但另一方面,您也可以使用有效变量名称的属性名称.一般来说,我倾向于不引用,但我并没有特别致力于任何一种风格...请注意,如果您使用的属性名称不是有效的变量名称,您将无法使用点符号来访问属性: `myObject.myProperty`,但你只能使用下标符号:`myObject ['myProperty']`. (2认同)

gbl*_*zex 5

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

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

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

额外:这就是你没有元素floatclass属性的原因.你必须使用cssFloat/styleFloatclassName不是.

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