在stackoverflow上有一些关于JSON是Object Literal Notation的子集的问题。但我找不到我的具体问题的答案。
之间有什么区别吗?
var obj = {keyName : "value"};
和
var obj = {"keyName" : "value"};
在JavaScript中?
答案 0 :(得分:5)
是。区别在于后者的文件大小将增加两个字节,以便代码中的两个额外"
字符。
否则,您给出的两个示例对象之间没有区别。
var obj = {keyName : "value"};
obj.keyName; /* "value" */
obj["keyName"]; /* "value" */
var obj = {"keyName" : "value"};
obj.keyName; /* "value" */
obj["keyName"]; /* "value" */
答案 1 :(得分:5)
没有区别,除了第二个将在你的代码中添加两个额外的"
字符,这将花费你额外的两个字节。
两种声明对象属性的原因with or without quotes is because
你可以试试,
var obj = {"key Name" : "value"};
仍然可以将其作为
访问obj['key Name']
但不是
var obj = {key Name : "value"};
以这种方式思考,存在差异