** 閉包**:就是一個概念,出現(xiàn)在嵌套函數(shù)中,指的是內(nèi)層函數(shù)引用到了外層函數(shù)的**自由變量**(未在本地作用域中定義的局部變量),就形成了閉包。
函數(shù)的局部作用域是不能夠保存信息的,即在函數(shù)內(nèi)部聲明變量在函數(shù)調(diào)用結(jié)束之后函數(shù)里面保存的信息就被銷毀了,包括函數(shù)的參數(shù)。而這時使用閉包的話就能發(fā)揮作用:
**保存函數(shù)的狀態(tài)信息,使函數(shù)的局部變量信息依然可以保存下來**。形成閉包之后,閉包變量能夠隨著閉包函數(shù)的調(diào)用而實時更新,就好像是一個全局變量那樣。
站在用戶的角度思考問題,與客戶深入溝通,找到如東網(wǎng)站設(shè)計與如東網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋如東地區(qū)。
我們發(fā)現(xiàn)每次再運行該函數(shù),里面的count變量其實已然保存。如果你希望函數(shù)的每次執(zhí)行結(jié)果,都是基于這個函數(shù)上次的運行結(jié)果。
通過以上簡單的代碼就很明了了閉包的好處之一。
另一個好處:閉包可以根據(jù)外部作用域的局部變量來得到不同的結(jié)果,這有點像一種類似配置功能的作用,我們可以修改外部的變量,閉包根據(jù)這個變量展現(xiàn)出不同的功能。這點在裝飾器中得到大量運用。
**多層裝飾器**的運行套用都是從下套上,一層套一層,具體看一下代碼就明曉。
兩層裝飾器能很好的完成注冊,方便構(gòu)成架子寫進(jìn)不同函數(shù):
當(dāng)前名稱:關(guān)于閉包即雙層裝飾器的理解
文章位置:http://aaarwkj.com/article44/ijhdee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信小程序、App開發(fā)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)