如这个 jsfiddle 所示,如果你有一个 JS 文件并且你创建了一个 JSON 对象而不使用它,它的行为会有所不同,具体取决于键(成员)是否用引号括起来。
有效代码:{ a: 1};
无效代码:{ "a": 1 };
您将收到一条错误消息(在 Chrome 中,FF/IE 不同,但语法仍然失败)
Uncaught SyntaxError: Unexpected token :
但是如果您以某种方式使用该对象,例如:alert({ "a": 1 });
一切正常。
为什么会这样?