两种写法都是有歧义的,在 firefox 上都会报错,报一样的错。因为 { 可以认为是语句块的开始,也可以认为是对象字面量的开始。 { 通常都会被解析为语句块的开始,而 chrome {}=={} 没有报错,是因为 chrome 做了一点优化,比如 {}//{} firefox 会返回 undefined {}//undefined 你要万无一失,就是 ({})==[] 如果你对 () 的作用有点迷,就看js中()是什么?作用是什么?
两种写法都是有歧义的,在 firefox 上都会报错,报一样的错。因为
{
可以认为是语句块的开始,也可以认为是对象字面量的开始。{
通常都会被解析为语句块的开始,而 chrome{}=={}
没有报错,是因为 chrome 做了一点优化,比如firefox 会返回
undefined
你要万无一失,就是
如果你对
()
的作用有点迷,就看js中()是什么?作用是什么?