JS闭包

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

你可能感兴趣的:(JS闭包)