日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

闭包的理解

發(fā)布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 闭包的理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、理解

  • 簡單就是定義在一個函數(shù)內(nèi)部的函數(shù),可以使用其他函數(shù)的變量。
  • 閉包是一種保護私有變量的機制,函數(shù)執(zhí)行時形成私有作用域,保護私有變量不受外界影響。
  • 內(nèi)部函數(shù)可以使用外部函數(shù)的參數(shù)和變量,函數(shù)和變量不會被垃圾回收機制回收。

2、變量

  • 變量:全局變量,任何地方可以訪問;局部變量,作用域內(nèi)訪問。
  • 函數(shù)內(nèi)部聲明的變量必須var聲明,否則為全局變量。
全局變量var count = 0;function counter() {return count += 1;}counter(); ---> count = 1counter(); ---> count = 2counter(); ---> count = 3 局部變量 function counter() {var count = 0;return count += 1; } counter()----> count = 1 counter()----> count = 1 counter()----> count = 1

3、閉包實現(xiàn)全局變量效果

var counter = (function(){var count = 0;return function() {return count += 1;}})() counter() ----> count = 1; counter() ----> count = 2; counter() ----> count = 3;

? ? ?解析: 局部變量聲明定義指進行一次,然后 counter 函數(shù)自我調(diào)用。

4、優(yōu)缺點

  • ?優(yōu)點:私有變量的存在;長期內(nèi)存存儲;避免全局污染。
  • ?缺點:內(nèi)存浪費,常駐內(nèi)存及其使用不當(dāng)?shù)臒o效內(nèi)存增大內(nèi)存使用量,導(dǎo)致內(nèi)存泄漏。
  • 總結(jié)

    以上是生活随笔為你收集整理的闭包的理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。