對於閉包我是這樣理解的

2021-10-08 10:06:47 字數 1322 閱讀 8034

一句話:能夠讀取其他函式內部變數的函式

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的極端例子,但從未深究過它是怎麼實現的,它就像水和...