我们知道,js中定义自调用函数通常使用下列方式:
(function () {
alert("函数2");
})();
事实上,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。换句话说,任何能将函数变为一个函数表达式的做法,都可以使解析器正确的调用函数。
比较常见的做法为在function关键字前面添加!、+、-、~。例如:
!function () {
alert("布尔运算符");
} (); +function () {
alert("加号");
} (); -function () {
alert("减号");
} (); ~function () {
alert("波浪线");
} ();