1. 程式人生 > 其它 >[js] js中的閉包以及特點

[js] js中的閉包以及特點

技術標籤:pythonjavajsmatlabc++

閉包的特點是:

1.函式裡面巢狀函式

2.函式內部可以引用函式外部的引數和變數

3.引數和變數不會被垃圾回收機制回收

這個問題輸出啥

function Foo(){
     var i=0;
     return function(){
         document.write(i++);
     }
}
var f1=Foo(),
f2=Foo();
f1();
f1();
f2();

一個是前面提到的可以讀取函式外部的變數,另一個就是讓這些變數的值始終保持在記憶體中

f1呼叫時 變數i會保持在記憶體中 , 兩次呼叫輸出 0 1

f2呼叫時,是和f1相互獨立的 ,輸出 0