97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

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://m.0391cbd.com

存檔

主站蜘蛛池模板: 国产中文一区a级毛片视频| 亚洲日本在线免费观看| 国产福利不卡视频| 国产成人亚洲毛片| 亚洲精品无码高潮喷水A| 九九热精品免费视频| 国产精品亚洲精品爽爽| 久久亚洲国产一区二区| 色九九视频| 国产乱人伦偷精品视频AAA| 欧美国产在线精品17p| 欧美伦理一区| 精品福利网| 国产午夜看片| 国产无人区一区二区三区| 精品国产福利在线| 精品国产乱码久久久久久一区二区| 波多野结衣一区二区三区四区| 成人综合网址| 国产清纯在线一区二区WWW| 日韩精品免费在线视频| 91热爆在线| 色噜噜综合网| 亚洲人成网7777777国产| 波多野结衣无码中文字幕在线观看一区二区 | 91久久精品日日躁夜夜躁欧美| 国产精品伦视频观看免费| 欧美一级在线| 日本a级免费| 成年人久久黄色网站| 高清无码手机在线观看| 丁香亚洲综合五月天婷婷| 99热国产这里只有精品9九| 日韩欧美中文亚洲高清在线| 国产亚洲视频播放9000| 亚洲中文精品久久久久久不卡| 色综合成人| 真人高潮娇喘嗯啊在线观看| 无码内射在线| 国产亚洲精| 国产女人在线| 91在线视频福利| av一区二区无码在线| 91九色视频网| 欧美日韩另类在线| 国产午夜看片| 日韩AV无码一区| 日本精品视频| AV网站中文| 在线观看国产精品第一区免费| 久久综合九色综合97婷婷| 新SSS无码手机在线观看| 日本亚洲成高清一区二区三区| 国产女人18水真多毛片18精品 | 国产精品.com| 久久精品亚洲热综合一区二区| 91精品国产综合久久不国产大片| 亚洲女人在线| 久久精品中文字幕少妇| 国内精品久久人妻无码大片高| 色首页AV在线| 中文字幕亚洲无线码一区女同| 久久6免费视频| 国产高清在线精品一区二区三区| 最新国产高清在线| 亚洲成人手机在线| 蜜臀av性久久久久蜜臀aⅴ麻豆| 免费无码网站| 国产区在线观看视频| 成人在线视频一区| 亚洲国产日韩一区| 国产精品太粉嫩高中在线观看| 国产精品页| 色婷婷在线影院| 高清不卡一区二区三区香蕉| 中文字幕一区二区人妻电影| 无码乱人伦一区二区亚洲一| 2022精品国偷自产免费观看| 九九香蕉视频| 欧美久久网| 3D动漫精品啪啪一区二区下载| 日本亚洲欧美在线|