4

我为什么 Chrome 和 Firefox 中的控制台将当前评估为1

> {a:1}
1

我猜它会被评估为一个对象,就像你将它分配给一个变量一样:

> var a = {a:1}
undefined
> a
Object {a: 1}

加上引号会引发语法错误:

> {"a":1}
SyntaxError: Unexpected token :
4

1 回答 1

8

试试({a:1})

只是执行{a:1}不是你想象的那样。它不是一个对象文字,它必须是一个表达式(例如,在赋值的右侧)。

相反,您拥有的是一个、一个标签,然后是一个 1。

{
    a:
    1
}

块返回它们的评估结果,标签返回评估标签后面的语句的结果,因此1返回。

于 2013-06-10T20:32:40.063 回答