理解
【两分钟秒懂 - JS中的闭包到底是什么?-哔哩哔哩】 https://b23.tv/KDrv0TG
func main() {
for i := 0; i < 10; i++ {
func(bizId int) {
// 子函数使用父函数变量i的行为
// 可以延长被调用父函数变量的生命周期
// 可以拓展父函数的空间
fmt.Printf("闭包:%d\n", bizId)
}(i)
}
}
闭包
我理解一下====>有如下表达式:函数a最后返回的结果是函数b,而函数b引用了函数a内的变量c,该表达式就叫闭包.它所解决的问题是变量既能被重复利用,还不被污染(如果变量c用全局变量替代,可以被重复利用,但会被污染)
function funA(){
var a = 10; // funA的活动对象之中;
return function(){ //匿名函数的活动对象;
alert(a);
}
}
var b = funA();
b(); //10