JS闭包
function getNumber(){
var number = 10;
var show = function(){
number++;
}
return show;
}
var shownumber = getNumber();
shownumber();
shownumber();
闭包:
1:可以在函数的外部访问到内部的变量,说白了闭包就是函数内部和函数外部的桥梁
2.变量会保存在内存中,不销毁 什么时候释放? 页面关闭,所以说,不建议滥用闭包
闭包练习
var n = 999;
function f1(){
alert(n);
}
f1(); //999
function outerFun(){
var a = 0;
function innerFun(){
a++;
alert(a);
}
}
innerFun(); //报错,innerFun的作用域在outerFun的里面
function outerFun(){
var a = 0;
alert(a);
}
var a = 4;
outerFun(); //0
alert(a); //4
function outerFun(){
a = 0;
alert(a);
}
var a = 4;
outerFun(); // 0
alert(a); // 0