亚洲av日韩av永久无码久久,免费的视频app网站,欧美性猛交xxxx免费看,国产成人精品三级麻豆

Js閉包

2020-3-3    前端達人

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

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

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

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

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

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

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

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

3,保護私有作用域變量

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

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

// 記數(shù)器:



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

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)部,可以訪問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());



//繼續(xù)變身

1

// var f = (function (){

// var count = 0;

// return function(){

// return count++;

// }

// }());

//

// console.log(f());

// console.log(f());

// console.log(f());

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

function outerFunc(){

var outVar = 10;

var innerF = function (){

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

}

alert(innerVar);

return innerF;

}



閉包的作用:

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



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

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

增加塊級作用域

總結(jié):

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

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

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







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

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

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

日歷

鏈接

個人資料

藍藍設(shè)計的小編 http://www.chinatradebeam.com

存檔

帅小伙自慰videogay男男| 人妻体内射精一区二区三区| 老师你下面太紧了拔不出来| 爆乳熟妇一区二区三区霸乳| 强壮的公次次弄得我高潮a片日本| 亚洲AV无码专区国产乱码电影| 护士的初苞被强开了| 欧美精品色婷婷五月综合| 国产精品v欧美精品v日韩精品| 国产免费av片在线无码免费看| 色狠狠一区二区三区香蕉| 国产AⅤ激情无码久久久无码| 色国产精品一区在线观看| 性裸交a片一区二区三区| 国产精品偷伦视频免费观看了| 人妻精油按摩bd高清中文字幕| 亚洲中文字幕无码爆乳av| 亚洲成A人V欧美综合天堂麻豆| 成人免费看吃奶视频网站| 毛片免费看| 免费人成在线观看视频播放| 四十路の五十路熟女豊満| 成人性生交大片免费看| 亚洲av午夜福利精品一区| 国产午夜精品一区二区| 国产精品99久久精品爆乳| 永久免费av网站| 成人精品一区二区三区电影| 适合女士自慰时看的黄文| 再深点灬舒服灬太大了岳视频 | 亚洲AV区无码字幕中文色| 无码少妇一区二区三区浪潮av| 五月香丁激情欧美啪啪| 无码视频一区二区三区在线观看| 精品人伦一区二区三区蜜桃免费| 师生h老师边h边做| 免费漫画网站| 国模吧无码一区二区三区 | 99久久国产热无码精品免费| av天堂午夜精品蜜臀av| 狂野欧美性猛交XXXX|