函數閉包

一般函數就是一個閉包,特性封閉和包裹
 function的缺點:函數內部定義的局部變量 外部不能調用
全局變量缺點:可能形成變量污染閉包

閉包就能夠既能在全局訪問,又寫在函數內部
 如何實現:真正的閉包有三個特色
1,函數內部定義了變量
2,函數內部又定義了函數 對局部變量加工 返回值是這個加工函數
3.全局下必須有一個變量來接收返回的函數function getNum() {函數

函數內部定義變量
var num = 1;
 對變量進行加工
return function(){
return num++;
}
}

var get1 = getNum();
var get2 = getNum();
console.log(get2());
console.log(get1());
內存

console.log(get2())
console.log(get1());
console.log(get1());
閉包的缺點:在全局下若是不手動刪除,會一直存在
 若是閉包應用多的時候,會形成內存的浪費
須要手動刪除
get1=null;
console.log(get1())get

相關文章
相關標籤/搜索