立即执行函数就是声明一个匿名函数,然后立即执行它。在 ES6 之前,通过声明立即执行函数来创建局部作用域,下面是声明立即执行函数的九种方式:
//1
(function(){
console.log("11111");
}());
//2
(function(){
console.log("22222");
})();
//3
!function(){
console.log("33333");
}();
//4
+function(){
console.log("44444");
}();
//5
-function(){
console.log("55555");
}();
//6
~function(){
console.log("66666");
}();
//7
void function(){
console.log("77777");
}();
//8
new function(){
console.log("88888");
}();
//9
var x = function(){
console.log("99999");
}()
ES6 之后,我们可以通过 block + let(const) 来创建局部作用域,如下
{
let x = 6;
console.log(x); //打印出 6
}
console.log(x); // 报错,找不到 x