在stackoverflow上有一些关于JSON是对象字面量表示法的子集的问题。但我没有找到我的一个具体问题的答案。
这两者之间有什么区别吗?
var obj = {keyName : "value"};
并且
var obj = {"keyName" : "value"};
在JavaScript中?
在stackoverflow上有一些关于JSON是对象字面量表示法的子集的问题。但我没有找到我的一个具体问题的答案。
这两者之间有什么区别吗?
var obj = {keyName : "value"};
并且
var obj = {"keyName" : "value"};
是的。两者之间的区别在于后者的文件大小将增加两个字节,以解释代码中额外的两个"
字符。
否则,你给出的这两个示例对象之间没有任何区别。
var obj = {keyName : "value"};
obj.keyName; /* "value" */
obj["keyName"]; /* "value" */
var obj = {"keyName" : "value"};
obj.keyName; /* "value" */
obj["keyName"]; /* "value" */
没有区别,除了第二种会在你的代码中添加两个额外的"
字符,这将花费你两个额外的字节。
声明对象属性时使用或不使用引号的原因是因为你可以尝试:
var obj = {"key Name" : "value"};
并且仍然可以像之前一样访问它
obj['key Name']
但不是
var obj = {key Name : "value"};
keyName
和"keyName"
之间是否有区别,而不是key Name
和"key Name"
。 - James Donnelly