国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于閉包的個人理解

cheng10 / 1668人閱讀

摘要:網上關于閉包的解釋有很多,大多都過于概念化,定義很精準也很難看懂在說什么。。首先貼一道經典的閉包題理解閉包之前,我們要明確垃圾回收機制中關于引用次數的判斷,即當引用對象的引用計數為的時候,表明此對象值可回收。

網上關于閉包的解釋有很多,大多都過于概念化,定義很精準也很難看懂在說什么。。
首先貼一道經典的閉包題:
`

function a(){
var b=0
return function(){
  console.log(b++)
  }
}
var c=a()
var d=a()
c() //0
c() //1
d() //0

`

理解閉包之前,我們要明確js垃圾回收機制中關于引用次數的判斷,即當引用對象的引用計數為0的時候,表明此對象值可回收。一個參數的作用域,即其是否能被調用,在于其調用時是否被回收,被回收了自然不能被調用。
以上代碼,當執行var c=a()時,可以理解為方法a開辟了一個新的內存空間area1,area1中定義的變量b,由于返回的function中引用了變量area1.b(為了方便理解,以此表示area1空間中的b變量),因此area1.b的引用次數為1,即垃圾回收機制不會對area1.b進行回收,后續執行c()時依然可以調用area1.b
同理,var d=a(),此時開辟新的內存空間area2,并在其中定義變量b。
因此上述代碼可以理解為:
`

function a(){
var b=0
return function(){
  console.log(b++)
  }
}
var c=a()
var d=a()
c() //執行console.log(area1.b++),輸出0
c() //執行console.log(area1.b++),輸出1
d() //執行console.log(area2.b++),輸出0

`

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102353.html

相關文章

  • 還擔心面試官問閉包?

    摘要:一言以蔽之,閉包,你就得掌握。當函數記住并訪問所在的詞法作用域,閉包就產生了。所以閉包才會得以實現。從技術上講,這就是閉包。執行后,他的內部作用域并不會消失,函數依然保持有作用域的閉包。 網上總結閉包的文章已經爛大街了,不敢說筆者這篇文章多么多么xxx,只是個人理解總結。各位看官瞅瞅就好,大神還希望多多指正。此篇文章總結與《JavaScript忍者秘籍》 《你不知道的JavaScri...

    tinyq 評論0 收藏0
  • 關于個人第一天前端面試面試問答QA,希望能對其他找前端工作朋友有所幫助。

    摘要:兩日前,發了一篇吐槽,莫名的火了一把。關于的第一個,其實就是聲明一個常量,不允許變更。另外對象迭代這里出自,阮一峰大神寫的入門指南,對象篇。 兩日前,發了一篇吐槽,莫名的火了一把。經過大家的建議與鼓勵,于是修改了簡歷,開始了重新投遞,2天后接到第一份面試邀請。 此文為個人面試經歷,QA問答過程與總結,不透露面試公司及面試人員,內容真實,如果有面試過我的大佬看到博客,歡迎指出問題。 循序...

    Youngdze 評論0 收藏0
  • 關于javascript中閉包

    摘要:在上面的執行中,只是又返回了一個新的對象,但是并沒有執行新對象里面的屬性對應的匿名函數喔,那就是沒有改變的值啊,所以你繼續也會輸出同樣的結果啊。 關于javascript中的閉包 我GitHub上的菜鳥倉庫地址: 點擊跳轉查看其他相關文章 文章在我的博客上的地址: 點擊跳轉 ? ? ? ? 其實關于閉包的定義,很多種說法,而關于閉包的解釋,更是多不勝數了。很多說得非常復雜,也有很多...

    myeveryheart 評論0 收藏0
  • 淺談對JavaScript閉包理解

    摘要:關于循環和閉包當循環和閉包結合在一起時,經常會產生讓初學者覺得匪夷所思的問題。閉包是一把雙刃劍是比較難以理解和掌握的部分,它十分強大,卻也有很大的缺陷,如何使用它完全取決于你自己。 在談閉包之前,我們首先要了解幾個概念: 什么是函數表達式? 與函數聲明有何不同? JavaScript查找標識符的機制 JavaScript的作用域是詞法作用域 JavaScript的垃圾回收機制 先來...

    missonce 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<