在JS里面,声明的函数如果要执行,直接调用就可以了,如
function a() {
console.log(b);
}
a();
但是如果是匿名函数呢。如果 要自执行。一样也可以,有几种写法
第一种是前面加!,后面再加()
!function(){ console.log('b') }()
第二种是function加大()后面再加(),
(function() { console.log("b"); })();
第三种和第二种差不多,只是 换换()位置
(function() { console.log("b"); }());
第四种也是 和第二种差不多,只是 把外面()换成[]数组形式
[function() { console.log("b"); }()];
上面的几种匿名函数自执行,如果 要传参,都是一样。后面的小括号()就是写要传入的数如:
[function(b) { console.log(b); }('b')];
使用匿名函数自执行可以减少全局的变量的污染,所以好像封装的JS都是用匿名函数