如何理解閉包碎乃?

1姊扔、定義: 嵌套在函數(shù)作用域中的函數(shù),稱為閉包函數(shù)梅誓。該作用域稱為閉包環(huán)境旱眯。通過閉包函數(shù)可以訪問閉包函數(shù)所在函數(shù)作用域中的形參與變量

2、表現(xiàn)形式: 使函數(shù)外部能夠調(diào)用函數(shù)內(nèi)部定義的變量

3证九、工作原理:
利用了js中的垃圾回收機制删豺,當一個函數(shù)被調(diào)用時,開辟空間愧怜,函數(shù)調(diào)用結(jié)束呀页,釋放空間,垃圾回收機制釋放被調(diào)用結(jié)束的函數(shù)時拥坛,發(fā)現(xiàn)函數(shù)的變量正在被其他的函數(shù)調(diào)用蓬蝶,這些變量不會被釋放,而且被永久駐留在內(nèi)存猜惋,只有退出程序丸氛,才會被釋放,或者是手工釋放(=null)

4著摔、變量的作用域
要理解閉包缓窜,首先必須理解Javascript特殊的變量作用域。
變量的作用域分類:全局變量和局部變量谍咆。
特點:
1禾锤、函數(shù)內(nèi)部可以讀取函數(shù)外部的全局變量;在函數(shù)外部無法讀取函數(shù)內(nèi)的局部變量摹察。
2恩掷、函數(shù)內(nèi)部聲明變量的時候,一定要使用var命令供嚎。如果不用的話黄娘,你實際上聲明了一個全局變量!
5克滴、使用閉包的注意點
1)濫用閉包逼争,會造成內(nèi)存泄漏:由于閉包會使得函數(shù)中的變量都被保存在內(nèi)存中,內(nèi)存消耗很大偿曙,所以不能濫用閉包氮凝,否則會造成網(wǎng)頁的性能問題羔巢,在IE中可能導(dǎo)致內(nèi)存泄露望忆。解決方法是罩阵,在退出函數(shù)之前,將不使用的局部變量全部刪除启摄。
2)會改變父函數(shù)內(nèi)部變量的值稿壁。所以,如果你把父函數(shù)當作對象(object)使用歉备,把閉包當作它的公用方法(Public Method)傅是,把內(nèi)部變量當作它的私有屬性(private value),這時一定要小心蕾羊,不要隨便改變父函數(shù)內(nèi)部變量的值喧笔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市龟再,隨后出現(xiàn)的幾起案子书闸,更是在濱河造成了極大的恐慌,老刑警劉巖利凑,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浆劲,死亡現(xiàn)場離奇詭異,居然都是意外死亡哀澈,警方通過查閱死者的電腦和手機牌借,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來割按,“玉大人膨报,你說我怎么就攤上這事∈嗜伲” “怎么了丙躏?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長束凑。 經(jīng)常有香客問我晒旅,道長,這世上最難降的妖魔是什么汪诉? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任废恋,我火速辦了婚禮,結(jié)果婚禮上扒寄,老公的妹妹穿的比我還像新娘鱼鼓。我一直安慰自己,他們只是感情好该编,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布迄本。 她就那樣靜靜地躺著,像睡著了一般课竣。 火紅的嫁衣襯著肌膚如雪嘉赎。 梳的紋絲不亂的頭發(fā)上置媳,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機與錄音公条,去河邊找鬼拇囊。 笑死,一個胖子當著我的面吹牛靶橱,可吹牛的內(nèi)容都是我干的寥袭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼关霸,長吁一口氣:“原來是場噩夢啊……” “哼传黄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起队寇,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤尝江,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后英上,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炭序,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年苍日,在試婚紗的時候發(fā)現(xiàn)自己被綠了惭聂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡相恃,死狀恐怖辜纲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拦耐,我是刑警寧澤耕腾,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站杀糯,受9級特大地震影響扫俺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜固翰,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一狼纬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧骂际,春花似錦疗琉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春柠贤,著一層夾襖步出監(jiān)牢的瞬間香浩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工种吸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弃衍,地道東北人呀非。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓坚俗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親岸裙。 傳聞我的和親對象是個殘疾皇子猖败,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355