1.什么是閉包?
閉包(closure)是指有權訪問另一個函式作用域中的變數.
簡單理解: 一個作用域可以訪問另一個函式內部的區域變數.
function fn1(){ //fn1就是閉包函式
var num=10;
function fn2(){
console.log(num); //10
}
fn2();
}
fn1()
2.閉包的作用
作用: 延伸變數的作用范圍.
function fn() {
var num = 10;
function fun() {
console.log(num);
}return fun;
}
var f = fn();
f();
3.使用閉包的注意點
(1) 由于閉包會使得函式中的變數都被保存在記憶體中,記憶體消耗很大,所以不能濫用閉包,否則會造成網頁的性能問題,可能導致記憶體泄露,解決方法是,在退出函式之前,將不使用的區域變數全部洗掉,
(2) 閉包會在父函式外部,改變父函式內部變數的值,所以,如果你把父函式當作物件使用,把閉包當作它的公用方法,把內部變數當作它的私有屬性,這時一定要小心,不要隨便改變父函式內部變數的值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/307338.html
標籤:其他
下一篇:再見LayUI,向大神致敬!
