首页 > 函数前带非是什么意思???

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

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


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


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


立即运行函数,相当于

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

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

【热门文章】
【热门文章】