2

演示1:

{"aa":111}

演示2:

{aa:111}

演示1结果:

SyntaxError: Unexpected token : (in chrome)

演示2结果:

111

如何解释这两个演示?tks

4

1 回答 1

7

它们被解析为语句,而不是表达式。

{ ... }解析为块语句。
aa:解析为语句标签。
111解析为包含数字的表达式语句。由于它是您要评估的最后一条语句,因此将返回其值。

"aa":是一个语法错误。由于语句标签不能包含"s,因此将其解析为表达式语句(如111,但为字符串而不是数字)。因此,"没有任何意义。

您希望它们被解析为对象文字,即表达式。
将它们括在括号中。

于 2012-08-20T15:21:44.137 回答