有特殊含义?
告诉浏览器自动运行这个匿名函数
没错哦,就是匿名函数。
不仅可以用!,还可以用+, -, ~都可以。
解释器在解释一个语句时,如果以function开头,就会理解为函数声明。
而前面加一个!可以让解释器理解为函数表达式,这样就可以立即调用了。
例如:
!funciton() {
}();
而省略了!的话:
function() {
}();
就会理解为函数声明,而函数声明没有名字会报错。如果有函数名:
function f() {
}();
还是会报错,因为function f(){}函数声明会被前置,相当于:
function f(){}
(); // 这里报错