函数前带非是什么意思???

!function(参数){语句}(this.xxx)

阅读 2.2k
4 个回答

立即运行函数,相当于

(function(){
    语句
})();

函数声明和函数表达式存在二义性,为了区别两者,规范规定以function开头的只能是函数声明。此时要将函数声明转化为表达式通常的做法就是加一个其他的符号。常见的立即执行函数用括号包围就是一个例子。另外,存在二义性的还有对象字面量,大致也相同。具体看我博客最新的一篇文章https://m2mbob.cn

(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为! + ()这些符号的运算符是最高的,所以会先运行它们后面的函数

把后面的一堆变成一个表达式。

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