javascript中的大括号

loo*_*ing 2 javascript curly-braces

demo1的:

{"aa":111}
Run Code Online (Sandbox Code Playgroud)

DEMO2:

{aa:111}
Run Code Online (Sandbox Code Playgroud)

demo1结果:

SyntaxError:意外的令牌:(在chrome中)

demo2结果:

111

如何解释这两个演示?TKS

SLa*_*aks 7

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

{ ... }被解析为块语句.
aa:被解析为语句标签.
111被解析为包含数字的表达式语句.由于这是您正在评估的最后一个语句,因此返回其值.

"aa":是一个语法错误.由于语句标签不能包含"s,因此它被解析为表达式语句(比如111,但是字符串而不是数字).因此,"毫无意义.

您希望将它们解析为对象文字,即表达式.
用括号括起来.