false || function(){console.log(1)}() 这是什么写法?有什么好处?

false || function(){console.log(1)}()

上面这个function(){console.log(1)}() 为什么放在||后面就不报错了呢?
这是个什么写法呢?

阅读 2.3k
2 个回答

JavaScript里面有函数声明和函数表达式的区别。其中一点:函数表达式是可以立即执行的,后面加个括号就行了,函数声明后面加括号会报错。

根据JS的语法 || 后面一定是个表达式,所以加个括号就可以执行了,跟加括号感叹号是一样的,都是让解释器认为后面是一个表达式。

一点好处都没用, 这明显是在装逼.

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