【发布时间】:2012-03-23 00:53:52
【问题描述】:
如果你在控制台输入
> new Object()
空的js对象会出现在控制台中,这是意料之中的,但是如果你输入
> {}
你会得到undefined
这很奇怪。不是吗?
【问题讨论】:
标签: javascript google-chrome-devtools
如果你在控制台输入
> new Object()
空的js对象会出现在控制台中,这是意料之中的,但是如果你输入
> {}
你会得到undefined
这很奇怪。不是吗?
【问题讨论】:
标签: javascript google-chrome-devtools
使用new 调用函数总是会产生一个值。现在,你的第二行,
{}
是一个空代码块,而不是一个对象字面量。
试试:
({})
或:
0,{}
控制台将您键入的行解析为语句,而不是表达式。因此,语句开头的大括号是块分隔符,而不是对象文字的开头。通过包含其他标记来强制解析器解析表达式,您可以开始一个对象字面量。
【讨论】:
0 ? 0 : {} 或0 || {} 或true && {}。关键是明确地开始一个表达式。