您好,登錄后才能下訂單哦!
1.為什么用閉包?
js變量的作用域:全局變量和局部變量
函數內部是可以直接讀取全局變量的,而函數外部卻無法讀取函數內部的局部變量,所以閉包的出現實際就是為了能在函數外部獲取函數內部的局部變量。
2.什么是閉包?
function f1(){
var n=1;
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result();
函數外部訪問不到內部變量?我們在函數f1內部聲明函數f2,n相當于f2的全局變量,所以f2是可以訪問f1的局部變量,所以,我們將f2作為返回值return出來,就可以在外部訪問f1中的局部變量。
3.閉包的作用?
(1)可以讀取函數內部的變量
(2)讓這些變量的值永遠保存在內存中。(實例中result其實是指向f2的,所以f2始終會在內存中,而f2又是依賴于f1而存在的,所以f1也會一直處在內存中不會被垃圾回收)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。