成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關于js中的閉包問題

icyfire / 941人閱讀

摘要:閉包解決的問題獲取到函數(shù)內(nèi)部的變量讓變量不會隨著函數(shù)執(zhí)行完畢就銷毀而是保存在內(nèi)存中模擬私有變量閉包產(chǎn)生的問題容易造成內(nèi)存泄漏,保存的多了,卻沒有釋放的指向問題,在閉包里,指向的是關于閉包的小東西比如注釋部分省了外殼,

閉包概念:
能夠訪問另一個函數(shù)作用域的變量的函數(shù),來個栗子

為何son函數(shù)可以訪問到father函數(shù)的變量?
前提知識:

    js的數(shù)據(jù)基本類型:Number boolean String Null Undefined Symbol
    復雜類型:Object

基本數(shù)據(jù)類型放在的 “棧” 中 ,負責數(shù)據(jù)類型是放在“堆”中,對于js,存儲基本數(shù)據(jù)類型采用的是 鍵:值來存的。
來個手擼的圖


簡單的說在使用基本數(shù)據(jù)類型的時候,使用的值,在使用對象的時候使用其實是一個地址。
function也是一個Object的分支,
在函數(shù)執(zhí)行的時候,先進行預編譯的過程 ,所以先創(chuàng)建father的AO與GO,對于son,先創(chuàng)建自己的AO與GO,當自己的找不到的時候,會從父級的去查找。
隨著son執(zhí)行完畢,son的執(zhí)行環(huán)境被銷毀,接著執(zhí)行fn(),然后執(zhí)行環(huán)境被銷毀,所以只會剩下全局的環(huán)境,所以son函數(shù)還在的,雖然執(zhí)行環(huán)境(AO被銷毀)。

閉包解決的問題:
1、獲取到函數(shù)內(nèi)部的變量
2、讓變量不會隨著函數(shù)執(zhí)行完畢就銷毀而是保存在內(nèi)存中
3、模擬私有變量...........
閉包產(chǎn)生的問題
1、容易造成內(nèi)存泄漏,保存的多了,卻沒有釋放
2、this的指向問題,在閉包里,this指向的是window

關于閉包的小東西
比如 注釋部分省了外殼,

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

轉載請注明本文地址:http://systransis.cn/yun/105867.html

相關文章

  • JS 中的閉包是什么?

    摘要:大名鼎鼎的閉包面試必問。閉包的作用是什么。看到閉包在哪了嗎閉包到底是什么五年前,我也被這個問題困擾,于是去搜了并總結下來。關于閉包的謠言閉包會造成內(nèi)存泄露錯。閉包里面的變量明明就是我們需要的變量,憑什么說是內(nèi)存泄露這個謠言是如何來的因為。 本文為饑人谷講師方方原創(chuàng)文章,首發(fā)于 前端學習指南。 大名鼎鼎的閉包!面試必問。請用自己的話簡述 什么是「閉包」。 「閉包」的作用是什么。 首先...

    Enlightenment 評論0 收藏0
  • js知識梳理6:關于函數(shù)的要點梳理(2)(作用域鏈和閉包)

    摘要:在此例中,在匿名函數(shù)被返回后,它的作用域鏈初始化為包含函數(shù)的活動對象和全局變量對象。函數(shù)在執(zhí)行完畢后,其活動對象也不會被銷毀,因為匿名函數(shù)的作用域鏈仍然在引用這個活動對象,結果就是只是的執(zhí)行環(huán)境的作用域鏈會被銷毀,其活動對象會留在內(nèi)存中。 寫在前面 注:這個系列是本人對js知識的一些梳理,其中不少內(nèi)容來自書籍:Javascript高級程序設計第三版和JavaScript權威指南第六版,...

    aristark 評論0 收藏0
  • 詳解js中的閉包

    摘要:定義函數(shù)的時候,為什么的值重新從開始了因為又一次運行了函數(shù),生成一個新的的活動對象,所以的作用域鏈引用的是一個新的值。 前言 在js中,閉包是一個很重要又相當不容易完全理解的要點,網(wǎng)上關于講解閉包的文章非常多,但是并不是非常容易讀懂,在這里以《javascript高級程序設計》里面的理論為基礎。用拆分的方式,深入講解一下對于閉包的理解,如果有不對請指正。 寫在閉包之前 閉包的內(nèi)部細節(jié),...

    chaosx110 評論0 收藏0
  • JavaScript深入淺出

    摘要:理解的函數(shù)基礎要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當作缺點提及,但是只要善于運用,其實基于原型的繼承模型比傳統(tǒng)的類繼承還要強大。中文指南基本操作指南二繼續(xù)熟悉的幾對方法,包括,,。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。 怎樣使用 this 因為本人屬于偽前端,因此文中只看懂了 8 成左右,希望能夠給大家?guī)韼椭?...(據(jù)說是阿里的前端妹子寫的) this 的值到底...

    blair 評論0 收藏0
  • 前端基礎

    摘要:談起閉包,它可是兩個核心技術之一異步基于打造前端持續(xù)集成開發(fā)環(huán)境本文將以一個標準的項目為例,完全拋棄傳統(tǒng)的前端項目開發(fā)部署方式,基于容器技術打造一個精簡的前端持續(xù)集成的開發(fā)環(huán)境。 這一次,徹底弄懂 JavaScript 執(zhí)行機制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機制,如果讀完本文還不懂,可以揍我。 不論你是javascript新手還是老鳥,不論是面試求職,還是日...

    graf 評論0 收藏0

發(fā)表評論

0條評論

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