函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。像下面这个就是一个简单的闭包。
functionA(){
var a = 1
functionB(){
console.log(a)
}
return B
}
函数B调用了函数A的变量,函数A返回给了函数B,这样就形成了一个闭包。
下面看一个高级一点的闭包
上边只会把那个函数放到数组里 并不会执行,在下面才会执行,所以在下边执行时i已经变成了10,所以会打印出来10个10.
functionA(){
var a = 1
functionB(){
console.log(a)
}
return B
}
函数B调用了函数A的变量,函数A返回给了函数B,这样就形成了一个闭包。
上边只会把那个函数放到数组里 并不会执行,在下面才会执行,所以在下边执行时i已经变成了10,所以会打印出来10个10.