国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        Js閉包

        2020-3-3    前端達人

        所謂閉包就是說,閉包是指有權訪問另外一個函數作用域中的變量的函數.可以理解為(能夠讀取其他函數內部變量的函數)

        閉包的三大特點為(既是優點,也是缺點):

        1,函數作用域空間不會被銷毀

        優點是:空間中的內容,永遠存在

        缺點是:占用大量的內存空間

        2,可以從外部訪問函數內部的變量

        優點是:使用變量數據方便

        缺點是:容易泄露數據信息

        3,保護私有作用域變量

        優點是:確保私有作用域變量一直存在

        缺點是:占用內存空間 閉包的最大問題是:有可能造成占用大量的內存空間,降低程序的執行效率,甚至有可能造成數據溢出或者是數據泄露 因為為了保護數據的安全性,特殊情況下,才會使用閉包舉例來說:

        // 記數器:



        //全局變量  全局變量降低函數的獨立性

        1

        // var count = 0;

        // function add(){

        // return count++;

        // }

        // console.log(add());

        // console.log(add());

        // console.log(add());



        //局部變量  函數執行外  局部變量銷毀

        1

        // function add(){

        // var count = 0;

        // return count++;

        // }

        // console.log(add());

        // console.log(add());

        // console.log(add());



        //plus定義在add的內部,可以訪問add局部變量count

        //f為一個全局變量,通過賦值后,成為add的返回值,也就是plus方法

        //訪問到了add中的局部變量count

        //所以count雖然是局部變量,但不允許被銷毀,plus就是閉包

        1

        2

        3

        4

        // function add(){

        // var count = 0;

        // function plus(){

        // return count++;

        // }

        // return plus;

        // }

        //

        // var f = add();

        //

        // console.log(f());

        // console.log(f());

        // console.log(f());



        //變身

        1

        // function add(){

        // var count = 0;

        // return function(){

        // return count++;

        // }

        // }

        //

        // var f = add();

        //

        // console.log(f());

        // console.log(f());

        // console.log(f());



        //繼續變身

        1

        // var f = (function (){

        // var count = 0;

        // return function(){

        // return count++;

        // }

        // }());

        //

        // console.log(f());

        // console.log(f());

        // console.log(f());

        //JS中,沒有塊作用域,但是在閉包的寫法里,可以體現出來。

        function outerFunc(){

        var outVar = 10;

        var innerF = function (){

        var innerVar = 20;//該變量雖然隸屬于outerFunc內部,但是它的作用域范圍只在innerF對應的函數體內,屬于塊級作用域

        }

        alert(innerVar);

        return innerF;

        }



        閉包的作用:

        正常函數執行完畢后,里面聲明的變量被垃圾回收處理掉,但是閉包可以讓作用域里的 變量,在函數執行完之后依舊保持沒有被垃圾回收處理掉



        可以讀取函數內部的變量

        讓這些變量的值始終保持在內存中。

        增加塊級作用域

        總結:

        1、 閉包是指有權訪問另一個函數作用域中的變量的函數,創建閉包的最常見的方式就是在一個函數內創建另一個函數,通過另一個函數訪問這個函數的局部變量。

        2、 閉包的缺點就是常駐內存,會增大內存使用量,使用不當很容易造成內存泄露。

        3、不必糾結到底怎樣才算閉包,其實你寫的每一個函數都算作閉包,即使是全局函數,你訪問函數外部的全局變量時,就是閉包的體現。







        ————————————————

        版權聲明:本文為CSDN博主「澈野」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

        原文鏈接:https://blog.csdn.net/fie_ld/article/details/104595753

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://www.shtzxx.cn

        存檔

        主站蜘蛛池模板: 少妇人妻诗雨1一一12| 黄金网站app观看大全夸克| 99热久久这里只有精品| 跪趴式啪啪gif动态图27报| 欧美肥老熟妇色xxxxx| 亚洲精品久久久久高潮| 国产乱理伦片在线观看| 蜜臀av免费一区二区三区| 狠狠色噜噜狠狠狠狠色综合久av | 野花香电视剧免费观看全集高清播放 | 国产 av 仑乱内谢| 免费人成视频19674不收费| 少妇愉情理伦三级| 亚洲 欧美 国产 日韩 中文字幕| 成人免费无码大片a毛片抽搐色欲 精品福利视频一区二区三区 | 丰满年轻岳欲乱中文字幕| 精品成人av一区二区三区在线| 男人天堂av| 忘忧草www日本高清| 国产精品厕所| 凌源市| 嘟嘟嘟www在线观看免费高清| 国产无线乱码一区二三区| 国产97色在线 | 亚洲| 久久久一本精品99久久精品66| 疯狂做受xxxx高潮欧美日本| 97亚洲色欲色欲综合网| 好男人www在线社区| 两个人看www在线视频| 国产熟睡乱子伦视频| 成年免费a级毛片免费看| 少妇爽到呻吟的视频| 日日碰狠狠躁久久躁77777| 涿州市| 好深好爽办公室做视频| 久久不见久久见免费视频7| 女人高潮被爽到呻吟在线观看| 丰满少妇作爱视频免费观看| 我的公把我弄高潮了视频 | 国产精品免费久久久久电影| 亚洲av噜噜狠狠网址蜜桃|