閉包的應用二 -----(區域性變數的累加)
阿新 • • 發佈:2019-02-12
全域性變數的累加:但是會造成全域性變數汙染
<script>
var a = 1;
function abc(){
a++;
alert(a);
}
abc(); //2
abc(); //3
</script>
區域性變數的累加:無法實現累加
<script>
function abc(){
var a = 1;
a++;
alert(a);
}
abc(); //2
abc(); //2
</script>
閉包:即是區域性變數,又能累加
<script>
function outer(){
var x=10;
return function(){ //函式巢狀函式
x++;
alert(x);
}
}
var y = outer(); //外部函式賦給變數y;
y(); //y函式呼叫一次,結果為11,相當於outer()();
y(); //y函式呼叫第二次,結果為12,實現了累加
</script>