關於閉包,巧妙地抽象理解

2021-07-10 07:09:28 字數 882 閱讀 6065

看過很多篇各位大牛們關閉對閉包的理解,但是每次理解可以,事後再次想想恐怕都是又有很多不太清晰的地方,偶爾看到了一篇關於閉包很形象的理解,故分享下。

有一位公主......
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 使函式不能釋放。閉包的缺點 外部...