成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

簡簡單單認(rèn)識變量的作用域以及閉包

未東興 / 420人閱讀

摘要:變量的作用域以及閉包變量的作用域就是你定義的變量可以使用的代碼范圍全局變量局部變量全局變量全局變量,顧名思義,就是在全局都能夠使用的變量。局部變量局部變量,只在函數(shù)執(zhí)行時生成的調(diào)用對象中存在,在函數(shù)執(zhí)行完畢時局部變量即刻銷毀。

變量的作用域以及閉包 變量的作用域

就是你定義的變量可以使用的代碼范圍

全局變量

局部變量

全局變量

全局變量,顧名思義,就是在全局都能夠使用的變量。在瀏覽器解析js代碼時,會在內(nèi)存中開辟出一塊空間來存儲變量,在函數(shù)需要使用時,可以直接從內(nèi)存中調(diào)用。

局部變量

局部變量,只在函數(shù)執(zhí)行時生成的調(diào)用對象中存在,在函數(shù)執(zhí)行完畢時局部變量即刻銷毀。因此在程序設(shè)計中我們需要考慮如何合理聲明變量,這樣既減小了不必要的內(nèi)存開銷,同時能很大程度地避免變量重復(fù)定義而覆蓋先前定義的變量所造成的Debug麻煩。

舉例說明
var a = 1;
console.log(a);

打印得到1.
var a = 1;
function example(){
    console.log(a);
}

打印得到1.
function example(){
var b = 2;
console.log(b);
}
example();

打印得到2.
function example(){
var b = 2;
}
console.log(b);
example();

打印報錯 b is not defined
閉包

閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。由于在javascript中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,所以說,閉包可以簡單理解成“定義在一個函數(shù)內(nèi)部的函數(shù)。所以,在本質(zhì)上,閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來的橋梁。

function example (){
    var b = 2;
    return function (){
        b++;
        console.log(b);
    }
}
var example1 = example();
example1();

打印得到3.

當(dāng)我們在打印console.log(example1)的時候,我們會發(fā)現(xiàn)打印出來的是example內(nèi)部的函數(shù)

console.log(example1);

打印得到:
? (){
    b++;
    console.log(b);
}
自執(zhí)行函數(shù) 第一種格式
(function(){

})()
第二種格式
(function(){

}())

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/87339.html

相關(guān)文章

  • 從這兩套題,重新認(rèn)識JSthis、作用、閉包、對象

    摘要:也就是說,普通情況下,指向調(diào)用函數(shù)時的對象。在全局執(zhí)行時,則是全局對象。故而的方法因為構(gòu)造函數(shù)閉包的關(guān)系,指向了構(gòu)造函數(shù)作用域內(nèi)的。 日常開發(fā)中,我們經(jīng)常用到this。例如用Jquery綁定事件時,this指向觸發(fā)事件的DOM元素;編寫Vue、React組件時,this指向組件本身。對于新手來說,常會用一種意會的感覺去判斷this的指向。以至于當(dāng)遇到復(fù)雜的函數(shù)調(diào)用時,就分不清this的...

    羅志環(huán) 評論0 收藏0
  • 由兩道題擴(kuò)展作用,作用鏈,閉包,立即執(zhí)行函數(shù),匿名函數(shù)認(rèn)識總結(jié)

    摘要:前言最近在學(xué)前幾天看到兩道題剛開始看懵懵懂懂這幾天通過各種查資料慢慢的理解頓悟了對匿名函數(shù)閉包立即執(zhí)行函數(shù)的理解也更深了一點在此分享給大家我的理解與總結(jié)希望能幫助大家理解因為這篇文章是我用心總結(jié)的查閱了很多的資料所以總結(jié)的比較細(xì)篇幅較長如果 前言 最近在學(xué)JS,前幾天看到兩道題,剛開始看懵懵懂懂,這幾天通過各種查資料,慢慢的理解,頓悟了,對匿名函數(shù),閉包,立即執(zhí)行函數(shù)的理解也更深了一點...

    piapia 評論0 收藏0
  • Js基礎(chǔ)知識(三) - 作用閉包

    摘要:是詞法作用域工作模式。使用可以將變量綁定在所在的任意作用域中通常是內(nèi)部,也就是說為其聲明的變量隱式的劫持了所在的塊級作用域。 作用域與閉包 如何用js創(chuàng)建10個button標(biāo)簽,點擊每個按鈕時打印按鈕對應(yīng)的序號? 看到上述問題,如果你能看出來這個問題實質(zhì)上是考對作用域的理解,那么恭喜你,這篇文章你可以不用看了,說明你對作用域已經(jīng)理解的很透徹了,但是如果你看不出來這是一道考作用域的題目,...

    lemanli 評論0 收藏0
  • Js基礎(chǔ)知識(三) - 作用閉包

    摘要:是詞法作用域工作模式。使用可以將變量綁定在所在的任意作用域中通常是內(nèi)部,也就是說為其聲明的變量隱式的劫持了所在的塊級作用域。 作用域與閉包 如何用js創(chuàng)建10個button標(biāo)簽,點擊每個按鈕時打印按鈕對應(yīng)的序號? 看到上述問題,如果你能看出來這個問題實質(zhì)上是考對作用域的理解,那么恭喜你,這篇文章你可以不用看了,說明你對作用域已經(jīng)理解的很透徹了,但是如果你看不出來這是一道考作用域的題目,...

    XFLY 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<