标签: javascript console syntax-error
我为什么Chrome和Firefox中的控制台会将当前评估为1:
1
> {a:1} 1
我猜它会被评估为一个对象,就像你将它分配给一个变量:
> var a = {a:1} undefined > a Object {a: 1}
使用引号会引发语法错误:
> {"a":1} SyntaxError: Unexpected token :
答案 0 :(得分:7)
尝试({a:1})。
({a:1})
执行{a:1}并不是您认为的那样。它不是一个对象文字,它必须是一个表达式(例如,在赋值的右侧)。
{a:1}
相反,你拥有的是block,label,然后是1。
{ a: 1 }
Blocks返回其评估结果,标签返回评估标签后面的语句的结果,因此返回1。