看過很多篇各位大牛們關閉對閉包的理解,但是每次理解可以,事後再次想想恐怕都是又有很多不太清晰的地方,偶爾看到了一篇關於閉包很形象的理解,故分享下。
有一位公主......
論程式設計抽象能力的重要性....function
princess
()//白馬王子
varunicorn=,
//獨角獸
dragons=[
/* ... */
],//龍
squirrel
="hello!"
;//松鼠
adventures
.push
(unicorn
,dragons
,squirrel
,....);
但是她不得不回到她的王國裡,面對那些年老的大臣。
return};}
但是在大臣們的眼裡,總是認為她只是個小女孩......
var
littlegirl
=princess
();
....講的是一些不切實際,充滿想象的故事
littlegirl
.story
();
即便所有大臣們知道他們眼前的小女孩是真的公主,但是他們卻不會相信有巨龍或獨角獸,因為他們自己從來沒有見到過。大臣們只會覺得它們只存在於小女孩的想象之中。
但是我們卻知道小女孩述說的是事實.......
關於閉包的理解
發表一下關於閉包的理解 首先把每乙個函式看成乙個乙個的 小黑屋 小黑屋裡面可以看到外面的東西,但外面卻看不到小黑屋裡面的東西,就好比是函式可以訪問外面全域性變數,但是外面卻訪問不了 小黑屋 裡面的變數 變數分為全域性變數和區域性變數 列 函式可以訪問外面全域性變數 var a 1 function ...
關於閉包的理解
js複習決定把閉包這個特性好好研究清楚 閉包是一種函式特性把,函式包含子函式,通過子函式訪問自身變數,然後在講子函式返回,達到普通函式做不到的特性 普通函式可以訪問全域性變數,但是不能訪問其他函式的變數 var n 1 function f1 f1 1 function f2 f2 b is not...
關於閉包的理解
閉包官方定義 閉包是指程式中有許多變數和繫結變數的執行環境。本人自己理解 程式的 段允許存在一級函式並且一級函式不能被釋放,一級函式沒有釋放之前,外部可以使用一級函式的區域性變數。進一步理解 閉包就是外部可以使用區域性變數。閉包的功能 1 外部可以使用區域性變數。2 使函式不能釋放。閉包的缺點 外部...