一句話:能夠讀取其他函式內部變數的函式
function fn()
}var bar = fn();
bar(); // web
這是乙個最簡單的閉包,為什麼bar方法輸出的是web,很簡單的一點就是,bar方法與fn方法一直連線在一起,也就是這樣
預編譯作用域和作用域鏈
// 閉包有點佔記憶體,利用立即執行函式,用完消除
var fn = (function()
return ,
subtract : function(),
value : function()
}})();
console.log(fn.value()); // 0
fn.add();
fn.add();
console.log(fn.value()); // 2
fn.subtract();
console.log(fn.value()); // 1
其中變數_num和方法_count為私有變數和方法
}上面順序列印為10個10(為什麼是這樣,就是乙個非同步的問題),我現在希望點誰就輸出當前i的值
就需要閉包
var list = document.
getelementsbytagname
('li');
for(
var i =
0; i < list.length; i++)}
)(i)
}
對於閉包我的理解
閉包這個概念以前看過幾次,不是很理解,今天在菜鳥上又看了一遍,覺得自己好像理解了。在此記下。其實,我覺得可以把閉包理解為為了解決計數器問題的乙個方法吧。什麼是計數器問題呢?就是說,我要建立乙個計數器函式,這個函式每執行一次,計數器就加1。聽起來很簡單。於是就有人開始寫函式。寫函式為了儲存你執行函式的...
什麼是閉包,我的理解
收藏 首先,我覺得,乙個概念,如果不理解也不影響使用的話,那麼,就沒必要去理解它 去學習它。閉包就是這樣乙個概念,你不理解它也能很好的用它。俺這兩年寫as3程式,是天天在和它打交道,甚至有過乙個function套乙個,乙個方法中套了20多個function的極端例子,但從未深究過它是怎麼實現的,它就...
什麼是閉包,我的理解
首先,我覺得,乙個概念,如果不理解也不影響使用的話,那麼,就沒必要去理解它 去學習它。閉包就是這樣乙個概念,你不理解它也能很好的用它。俺這兩年寫as3程式,是天天在和它打交道,甚至有過乙個function套乙個,乙個方法中套了20多個function的極端例子,但從未深究過它是怎麼實現的,它就像水和...