什么是立即执行函数
在ES6出来之前,js 是无法创建局部变量的,为了解决这个问题,就有了立即执行函数的诞生
那么什么是立即执行函数呢,顾名思义立即执行函数就是我们声明一个匿名函数,然后立即执行它,这个过程就是立即执行函数。
举个例子
(function (){
console.log("我是立即执行函数")
}())
(function (){
console.log("我是立即执行函数")
})()
+function (){
console.log("我是立即执行函数")
}()
-function (){
console.log("我是立即执行函数")
}()
new function (){
console.log("我是立即执行函数")
}()
上面的例子都是立即执行函数
立即执行函数创建了局部作用域,但是很明显这个有点麻烦,为了创建一个局部变量我们得写多写两行代码,所以 ES6 给我们提供了创建局部变量的方法 block+let
{
let num//局部变量
console.log(num)//能够读取到
}
console.log(num)//读取不到
值得注意的是,这里的花括号里面我们使用var的话创建的依然是一个全局变量。
{
var num//局部变量
console.log(num)//能够读取到
}
console.log(num)//能够读取到