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

資訊專欄INFORMATION COLUMN

什么是閉包

canger / 678人閱讀

大家好:
今天我們來徹底了解下什么是閉包:
首先我們先看一個例子:

var local =1;
function a(){
    console.log(local);
};

首先我來給大家介紹下:
假設下如果上述代碼在一個立即執行的函數中;那么變量local就是一個局部變量,有一個函數a,a可以訪問到局部變量local;
好了上述這個就是個閉包;
在網上有許多介紹閉包的概念,如函數中嵌套一個函數,然后將嵌套的函數返回出來,那么我們在來看看下面這個例子;

function aa(){
    var b =1;
    function bb(){
        b++;
        return b
    }
    return bb;
}
var c = aa();
c();

這里變量b和函數bb()就形成了一個閉包;
那么就有了個疑問,為什么要做這種函數嵌套函數;
因為我們需要這個局部變量 b;所以才將 b放在一個函數中,如果不將變量放在一個函數中,那么 b 就成為了一個全局變量;所以說函數嵌套函數就是為了創建一個局部變量。
那為什么要返回bb函數呢
如果大家不返回bb函數,那么我們就用不了這個閉包,返回bb函數的意思就是說返回到window這個全局對象中(不理解看下面);
我們可以把return bb 改寫成window.bb = bb ;目的是只要讓外層能訪問到bb函數就可以了;
所以說 return bb 只是能讓這個函數能用,和閉包沒關系;
閉包的謠言
閉包會造成內存泄漏?
首先我給大家解釋下什么是內存泄漏:你用不到(訪問不到的變量),依舊占據著內存空間,不能被再次利用;
這種說法的由來是IE有bug,IE 在我們使用完閉包之后,依然回收不了閉包里面引用的變量。
這是 IE 的問題,不是閉包的問題。

好,今日總結就這么多了。

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

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

相關文章

  • JS 中的閉包什么

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

    Enlightenment 評論0 收藏0
  • 什么閉包?為什么閉包?使用閉包應注意什么

    摘要:一什么是閉包閉包是指有權訪問另一個函數作用域中的變量的函數。就是創建了一個匿名函數調用函數解除對匿名函數的引用,以便釋放內存 一、什么是閉包? 閉包是指有權訪問另一個函數作用域中的變量的函數。創建閉包的常見方式就是在一個函數內部創建另一個函數。 二、為什么要閉包 說明:變量分為全局變量的局部變量,全局變量的作用域為全局作用域,局部變量作用域為局部作用域。之前一篇文章關于作用域鏈給了介紹...

    raledong 評論0 收藏0
  • 面試官問我:什么JavaScript閉包,我該如何回答

    摘要:到底什么是閉包這個問題在面試是時候經常都會被問,很多小白一聽就懵逼了,不知道如何回答好。上面這么說閉包是一種特殊的對象。閉包的注意事項通常,函數的作用域及其所有變量都會在函數執行結束后被銷毀。從而使用閉包模塊化代碼,減少全局變量的污染。 閉包,有人說它是一種設計理念,有人說所有的函數都是閉包。到底什么是閉包?這個問題在面試是時候經常都會被問,很多小白一聽就懵逼了,不知道如何回答好。這個...

    BenCHou 評論0 收藏0
  • 多層級理解閉包

    摘要:第二梯隊理解有了第一梯隊的認識,我們慢慢修正大腦中對閉包的認識。理解這句話就可以很好的與閉包這兩個字關聯起來理解閉包這個概念了。總結第二梯隊理解閉包是一個有特定功能的函數。第四梯隊理解閉包通過訪問外部變量,一個閉包可以維持這些變量。 閉包 閉包的概念困惑了我很久,記得當時我面試的時候最后一面有一個問題就是問題關于閉包的問題,然而到現在已經完全不記得當時的題目是啥了,但仍然能夠回憶起當時...

    nemo 評論0 收藏0
  • The Little JavaScript Closures

    摘要:寫在前面本文嘗試模仿的風格,介紹的閉包。本文同時也是我學習閉包的一次總結。注根據這篇文章,事實上所有函數在創建的時候都會形成閉包。但這種閉包并沒什么趣味,也沒什么特別的用途,所以我們更關注的是由內部函數形成的閉包。 寫在前面 本文嘗試模仿 The Little Schema 的風格,介紹 JavaScript 的閉包。本文同時也是我學習 JavaScript 閉包的一次總結。歡迎一起討...

    Heier 評論0 收藏0
  • 什么閉包閉包的優缺點?

    摘要:什么是閉包閉包的優缺點閉包是的一大難點,也是它的特色。閉包的用途閉包可以用在許多地方。閉包會在父函數外部,改變父函數內部變量的值。 什么是閉包?閉包的優缺點? 閉包(closure)是javascript的一大難點,也是它的特色。很多高級應用都要依靠閉包來實現。 1、變量作用域 要理解閉包,首先要理解javascript的特殊的變量作用域。變量的作用域無非就兩種:全局變量和局部變量。...

    fireflow 評論0 收藏0

發表評論

0條評論

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