教培參考
教育培訓(xùn)行業(yè)知識型媒體
發(fā)布時間: 2025年05月24日 04:48
閉包讀取函數(shù)內(nèi)部變量函數(shù)的基礎(chǔ)知識分享,閉包能夠讀取其他函數(shù)內(nèi)部變量的函數(shù),在本質(zhì)上閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來的橋梁我們需要掌握閉包的構(gòu)成條件和定義閉包的語法格式。
我們先來了解一下什么是閉包?
我們知道當(dāng)函數(shù)調(diào)用完,函數(shù)內(nèi)定義的變量都銷毀了,但是我們有時候需要保存函數(shù)內(nèi)的這個變量,每次在這個變量的基礎(chǔ)上完成一些列的操作,比如: 每次在這個變量的基礎(chǔ)上和其它數(shù)字進(jìn)行求和計(jì)算,那怎么辦呢?我們就可以通過咱們今天學(xué)習(xí)的閉包來解決這個需求。
閉包的定義:在函數(shù)嵌套的前提下,內(nèi)部函數(shù)使用了外部函數(shù)的變量,并且外部函數(shù)返回了內(nèi)部函數(shù),我們把這個使用外部函數(shù)變量的內(nèi)部函數(shù)稱為閉包。
那么閉包的構(gòu)成條件是什么?
通過閉包的定義我們可以得知閉包的形成條件:在函數(shù)嵌套(函數(shù)里面再定義函數(shù))的前提下;內(nèi)部函數(shù)使用了外部函數(shù)的變量(還包括外部函數(shù)的參數(shù));外部函數(shù)返回了內(nèi)部函數(shù)。
閉包的示例代碼如下:
閉包執(zhí)行結(jié)果的說明:通過上面的輸出結(jié)果可以看出閉包保存了外部函數(shù)內(nèi)的變量num1,每次執(zhí)行閉包都是在num1 = 1 基礎(chǔ)上進(jìn)行計(jì)算。
閉包作用是什么?
閉包可以保存外部函數(shù)內(nèi)的變量,不會隨著外部函數(shù)調(diào)用完而銷毀。需要注意的是由于閉包引用了外部函數(shù)的變量,則外部函數(shù)的變量沒有及時釋放,消耗內(nèi)存。
閉包知識點(diǎn)小結(jié):當(dāng)返回的內(nèi)部函數(shù)使用了外部函數(shù)的變量就形成了閉包,閉包可以對外部函數(shù)的變量進(jìn)行保存。
微信掃碼關(guān)注公眾號
獲取更多考試熱門資料