3 个回答

两种写法都是有歧义的,在 firefox 上都会报错,报一样的错。因为 { 可以认为是语句块的开始,也可以认为是对象字面量的开始。

{ 通常都会被解析为语句块的开始,而 chrome {}=={} 没有报错,是因为 chrome 做了一点优化,比如

{}//{}

firefox 会返回 undefined

{}//undefined

你要万无一失,就是

({})==[]

如果你对 () 的作用有点迷,就看js中()是什么?作用是什么?

因为第一种写法的第一个{}被当成代码块了,你会发现{} 1 == []是符合语法的

你给chrome 团队提个bug

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题