在JavaScript控制台中输入{a:1}给出1,{a:1,b:2}的行为是什么?
-
03-10-2019 - |
题
以下将显示在壁炉中或 jsconsole.com 或在其他JavaScript交互式控制台中:
>>> foo = { a : 1, b : 2.2 }
Object { a=1, more...}
>>> foo.a
1
>>> foo.b
2.2
>>> { a : 1, b : 2.2 }
SyntaxError: invalid label { message="invalid label", more...}
>>> { a : 1 }
1
为什么是 1
返回 {a : 1}
为什么是 {a : 1, b : 2.2}
给出错误?在Ruby中,它们会像定义它一样回来。
其他提示
我不是100%积极的,但是我认为正在发生的事情是,在第二行中,您要定义一个块,而不是对象。因此,当解析器达到逗号时,解析错误会出现,因为它期望半色。 DEF的标签是标签,例如在GoTO或Switch语句中。我希望这种解释有任何意义。
控制台执行AS ASE('您输入')
eval({....}) --- this will get an error
eval('({....})')---eval string as a function
不隶属于 StackOverflow