;!function(){}(); 开头的;!的作用
1、Javascript中分号表示语句结束,在开头加上,可能是为了压缩的时候和别的方法分割一下,表示一个新的语句开始。
2、将叹号加在函数定义的前面,是构建了一个立即执行函数。
3、立即执行函数可以使用更清晰的格式:(function(){})(); 来书写。
在函数声明function(){}后面加(),这是一个立即执行函数,也叫匿名自动执行函数。但立即执行函数,要作为表达式的一部分才行,不然js解释器会报语法错误。一般成为表达式的最容易理解方式是,在左右两端各加一个圆括号(function (){}),所以立即执行函数最常见的写法就是(function (){})()。
4、立即执行函数还有多种写法,比如!function (){}()、~function (){}(),甚至也可以!!!!function (){}()、~~~function (){}()、!~!function (){}()。