閉包 閉包的概念: 函數A中, 有一個函數B, 函數B中可以訪問函數A中定義的變數或者是數據, 此時形成了閉包(這句話暫時不嚴謹) 閉包的模式: 函數模式的閉包, 對象模式的閉包 閉包的作用: 緩存數據, 延長作用域鏈 閉包的優點和缺點: 緩存數據 閉包的應用 函數模式的閉包: 在一個函數中有一個函 ...
閉包
閉包的概念: 函數A中, 有一個函數B, 函數B中可以訪問函數A中定義的變數或者是數據, 此時形成了閉包(這句話暫時不嚴謹)
- 閉包的模式: 函數模式的閉包, 對象模式的閉包
- 閉包的作用: 緩存數據, 延長作用域鏈
- 閉包的優點和缺點: 緩存數據
- 閉包的應用
函數模式的閉包: 在一個函數中有一個函數
//函數模式的閉包:在一個函數中有一個函數 function f1() { var num = 10; //函數的聲明 function f2() { console.log(num); } //函數調用 f2(); } f1();
function f1() {
var num = 10;
return function () {
console.log(num); //10
return num;
}
}
var ff = f1();
var result = ff();
console.log(result); //10
對象模式的閉包:函數中有一個對象
function f3() { var num = 10; var obj = { age: num }; console.log(obj.age);//10 } f3();
function f2() { var num = 100; return { age: num } } var obj = f2(); console.log(obj.age);