在JavaScript中出现奇怪的JSON解析行为,"Unexpected token :"。

21 浏览
0 Comments

在JavaScript中出现奇怪的JSON解析行为,"Unexpected token :"。

这个 jsfiddle中演示了,如果你有一个JS文件并且创建一个JSON对象却没有使用它,那么它的行为会根据键(成员)是否用引号包裹而不同。

有效的代码:{ a: 1 };

无效的代码:{ "a": 1 };

你会得到一个错误信息(在Chrome中有所不同,但在语法上仍然失败)

Uncaught SyntaxError: Unexpected token :

但是如果你以某种方式使用该对象,例如:alert({ "a": 1 });,一切都会恢复正常。

为什么会发生这种情况呢?

0