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

資訊專欄INFORMATION COLUMN

什么是閉包,變量的作用域和自執行函數

daydream / 2417人閱讀

摘要:作用域和閉包以及自執行函數作用域作用域分為種全局作用域全局作用域就是在的任何位置都能訪問過函數作用域只能在函數里面調用的稱之為函數作用域閉包嵌套在函數里面的函數及周邊的變量叫閉包閉包存在的問題是周邊變量不會被釋放,常駐內存中閉包的缺點消耗內

作用域和閉包以及自執行函數 作用域 作用域分為2種 1、全局作用域
全局作用域就是在js的任何位置都能訪問過
2、函數作用域
只能在函數里面調用的稱之為函數作用域
閉包 嵌套在函數里面的函數及周邊的變量叫閉包
閉包存在的問題是:周邊變量不會被釋放,常駐內存中
閉包的缺點:消耗內存
下面我們做一個閉包的示例
在函數中我們調用另一個函數,讓第二個函數
/閉包
function test(){
    var b = 2;
   return function(){
        var c = 3;
        console.log(b);
    }
}
var new1 = test();
new1();
打印結果得到的是2
下面我們在調用一次new1()
function test(){
    var b = 2;
    return function(){
        var c = 3;
        console.log(b);
    }
}
var new1 = test();
new1();  new1();
打印的結果是2 2
由此我們得到一個結論,我們要想打印下面這個函數的結果,我們就用閉包做
function test(){
    var b = 2;
}
var new1 = test();
new1();
我們剛才說到閉包存在的問題是:周邊變量不會被釋放,常駐內存中下面我們舉例說明
function test(){
    var b = 2;
   return function(){
        b++            
        console.log(b);
    }
}
var new1 = test();
new1();new1(); 
打印的結果是3 4
我們在調用一個函數
function test(){
    var b = 2;
   return function(){
        b++            
        console.log(b);
    }
}
var new1 = test();
new1();new1(); new1();
現在的輸出結果是 3 4 5
自執行函數(立即執行函數) 自執行函數有2中寫法
//第一種寫法
(function (){
    console.log(1);
})();
//第二種寫法
(function (){
    console.log(2)
}()); 
自執行函數也是也是一個閉包
var aa =  (function (){
    var a = 55;
    function test(){
        a++;
        console.log(a);
    }
    return test;
})();
aa();aa();
打印結果56 57
以上就是變量作用域和閉包以及自執行函數的介紹

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

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

相關文章

  • 什么閉包變量作用域和閉包

    摘要:在上面的代碼中,函數實際上就是函數的閉包函數,我們讓其執行三次,結果分別為。這是因為,函數中的局部變量一直被保存在內存中。所以閉包有個缺點,就是內存占用較大。自執行函數上面這段函數也是閉包的一種。我們利用閉包來做一個小例子。 變量作用域和閉包 變量作用域 當我們寫 js 文檔的時候經常會設置變量,變量的類型有兩種: 全局變量 局部變量 這兩種類型的變量有者不同的作用范圍,全局變量的...

    U2FsdGVkX1x 評論0 收藏0
  • JavaScript面向對象~ 作用域和閉包

    摘要:大名鼎鼎的作用域和閉包,面試經常會問到。聲明理解閉包,先理解函數的執行過程。閉包的基本結構因為閉包不允許外界直接訪問,所以只能間接訪問函數內部的數據,獲得函數內部數據的使用權。 大名鼎鼎的作用域和閉包,面試經常會問到。閉包(closure)是Javascript語言的一個難點,也是它的特色。 聲明 理解閉包,先理解函數的執行過程。 代碼在執行的過程中會有一個預解析的過程,也就是在代碼的...

    WilsonLiu95 評論0 收藏0
  • 圖解JS閉包形成原因

    摘要:閉包的出現正好結合了全局變量和局部變量的優點。這就是閉包的一個使用場景保存現場。 前言 什么是閉包,其實閉包是可以重用一個對象,又保護對象不被篡改的一種機制。什么是重用一個對象又保護其不被篡改呢?請看下面的詳解。 作用域和作用域鏈 注意理解作用域和作用域鏈對理解閉包有非常大的幫助,所以我們先說一下作用域和作用域鏈 什么是作用域作用域表示的是一個變量的可用范圍、其實它是一個保存變量的對象...

    wind3110991 評論0 收藏0
  • 你應該要知道作用域和閉包

    摘要:寫在前面對于一個前端開發者,應該沒有不知道作用域的。欺騙詞法作用域有兩個機制可以欺騙詞法作用域和。關于你不知道的的第一部分作用域和閉包已經結束了,但是,更新不會就此止住未完待續 這是《你不知道的JavaScript》的第一部分。 本系列持續更新中,Github 地址請查閱這里。 寫在前面 對于一個前端開發者,應該沒有不知道作用域的。它是一個既簡單有復雜的概念,簡單到每行代碼都有它的影子...

    JouyPub 評論0 收藏0
  • 深入javascript——作用域和閉包

    摘要:注意由于閉包會額外的附帶函數的作用域內部匿名函數攜帶外部函數的作用域,因此,閉包會比其它函數多占用些內存空間,過度的使用可能會導致內存占用的增加。 作用域和作用域鏈是javascript中非常重要的特性,對于他們的理解直接關系到對于整個javascript體系的理解,而閉包又是對作用域的延伸,也是在實際開發中經常使用的一個特性,實際上,不僅僅是javascript,在很多語言中都...

    oogh 評論0 收藏0

發表評論

0條評論

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