• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    Js閉包

    2020-3-3    前端達(dá)人

    所謂閉包就是說(shuō),閉包是指有權(quán)訪問(wèn)另外一個(gè)函數(shù)作用域中的變量的函數(shù).可以理解為(能夠讀取其他函數(shù)內(nèi)部變量的函數(shù))

    閉包的三大特點(diǎn)為(既是優(yōu)點(diǎn),也是缺點(diǎn)):

    1,函數(shù)作用域空間不會(huì)被銷毀

    優(yōu)點(diǎn)是:空間中的內(nèi)容,永遠(yuǎn)存在

    缺點(diǎn)是:占用大量的內(nèi)存空間

    2,可以從外部訪問(wèn)函數(shù)內(nèi)部的變量

    優(yōu)點(diǎn)是:使用變量數(shù)據(jù)方便

    缺點(diǎn)是:容易泄露數(shù)據(jù)信息

    3,保護(hù)私有作用域變量

    優(yōu)點(diǎn)是:確保私有作用域變量一直存在

    缺點(diǎn)是:占用內(nèi)存空間 閉包的最大問(wèn)題是:有可能造成占用大量的內(nèi)存空間,降低程序的執(zhí)行效率,甚至有可能造成數(shù)據(jù)溢出或者是數(shù)據(jù)泄露 因?yàn)闉榱吮Wo(hù)數(shù)據(jù)的安全性,特殊情況下,才會(huì)使用閉包舉例來(lái)說(shuō):

    // 記數(shù)器:



    //全局變量  全局變量降低函數(shù)的獨(dú)立性

    1

    // var count = 0;

    // function add(){

    // return count++;

    // }

    // console.log(add());

    // console.log(add());

    // console.log(add());



    //局部變量  函數(shù)執(zhí)行外  局部變量銷毀

    1

    // function add(){

    // var count = 0;

    // return count++;

    // }

    // console.log(add());

    // console.log(add());

    // console.log(add());



    //plus定義在add的內(nèi)部,可以訪問(wèn)add局部變量count

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

    //訪問(wèn)到了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());



    //繼續(xù)變身

    1

    // var f = (function (){

    // var count = 0;

    // return function(){

    // return count++;

    // }

    // }());

    //

    // console.log(f());

    // console.log(f());

    // console.log(f());

    //JS中,沒(méi)有塊作用域,但是在閉包的寫法里,可以體現(xiàn)出來(lái)。

    function outerFunc(){

    var outVar = 10;

    var innerF = function (){

    var innerVar = 20;//該變量雖然隸屬于outerFunc內(nèi)部,但是它的作用域范圍只在innerF對(duì)應(yīng)的函數(shù)體內(nèi),屬于塊級(jí)作用域

    }

    alert(innerVar);

    return innerF;

    }



    閉包的作用:

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



    可以讀取函數(shù)內(nèi)部的變量

    讓這些變量的值始終保持在內(nèi)存中。

    增加塊級(jí)作用域

    總結(jié):

    1、 閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù),創(chuàng)建閉包的最常見(jiàn)的方式就是在一個(gè)函數(shù)內(nèi)創(chuàng)建另一個(gè)函數(shù),通過(guò)另一個(gè)函數(shù)訪問(wèn)這個(gè)函數(shù)的局部變量。

    2、 閉包的缺點(diǎn)就是常駐內(nèi)存,會(huì)增大內(nèi)存使用量,使用不當(dāng)很容易造成內(nèi)存泄露。

    3、不必糾結(jié)到底怎樣才算閉包,其實(shí)你寫的每一個(gè)函數(shù)都算作閉包,即使是全局函數(shù),你訪問(wèn)函數(shù)外部的全局變量時(shí),就是閉包的體現(xiàn)。







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

    版權(quán)聲明:本文為CSDN博主「澈野」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

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

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 新和县| 昌平区| 云霄县| 日本MV高清在线成人高清| 激情肏屄网| 亚洲精品熟女一区二区| 一区二区三区高清视频国产女人| 成人无码区免费视频网站蜜臀| 亚洲欧美国产制服图片区| 久久精品国产久精国产80cm| 五十老熟妇乱子伦免费观看| 中文国产成人精品久久96| 日本成人字幕在线不卡| 欧美日韩综合一区二区三区| 国产精品一区二区国产| 久久精品无码一区二区国产区 | 国产精品亚洲日韩欧美色窝窝色欲| 阳西县| 婷婷六月激情在线综合激情 | 美女毛片一区二区三区四区| 日韩精品久久久久成人影院| 亚洲AV无码精品呻吟| 在线看片免费人成视频福利| 亚洲AV永久无码精品一区二区| (原创)露脸自拍[62p]| 99热播这里只有精品国产首页| 幻女free性俄罗斯毛片| 日本一卡二卡新区乱码 工| 国产精品国产三级国产普通| 国产亚洲精品hd网站| 在线播放中文字幕一区二区三区| 热99精品只有里视频精品| 麻豆国产AV剧情偷闻女邻居内裤| 亚洲一区二区国产精品| 疯狂三人交性欧美| 欧美日韩一区二区三区色综合| 在线观看91香蕉国产免费| 在线A久青草视频在线观看 | 亚洲国产精品不伦不卡| 好男人WWW社区视频在线资源| 免费看叼嘿视频的软件|