閉包要點

閉包:只需記住以下兩種情況:
1.函數(shù)作為返回值:


image.png

要點:閉包其實就是個函數(shù),在閉包里面調(diào)用外部的變量,變量的值取在創(chuàng)建這個閉包的作用域中來取;還有就是某個函數(shù)調(diào)用完之后,閉包的上下文環(huán)境不會緊接著就被銷毀,所以,使用閉包會增加內(nèi)存的開銷。

上下文環(huán)境和作用域:
1.上下文環(huán)境:可以理解為看不見摸不著的對象(有若干屬性),但是卻是的的確確存在的。因為所有定義的變量都在里面存儲著。另外,對于函數(shù)來說,上下文環(huán)境是在函數(shù)調(diào)用時創(chuàng)建的。

2.作用域:很抽象,除了全局作用域,只有函數(shù)才能創(chuàng)建作用域。創(chuàng)建了一個函數(shù)就創(chuàng)建了一個作用域,無論你調(diào)用與否,函數(shù)只要創(chuàng)建了,它就有獨立的作用域。

兩者的關系:一個作用域可能包含若干個上下文;有可能從來沒有過上下文(函數(shù)沒調(diào)用過);也有可能有過,但是在函數(shù)調(diào)用完之后,上下文環(huán)境就被銷毀了;還有可能同時存在一個或者多個(閉包的情況)。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容