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

資訊專欄INFORMATION COLUMN

JS基礎(chǔ)——變量提升

wangbjun / 810人閱讀

摘要:變量提升在中,通過(guò)聲明的變量,無(wú)論在何處申明,都會(huì)被視為聲明于所在函數(shù)的頂部如果不在函數(shù)內(nèi),則視為全局作用域頂部。通常建議變量申明優(yōu)先使用,然后再使用函數(shù)提升函數(shù)聲明會(huì)被提升到當(dāng)前作用域的最前面。

變量提升

在js中,通過(guò)var聲明的變量,無(wú)論在何處申明,都會(huì)被視為聲明于所在函數(shù)的頂部(如果不在函數(shù)內(nèi),則視為全局作用域頂部)。申明會(huì)提升,初始化不會(huì)提升。
例如:當(dāng)我們多帶帶執(zhí)行console.log(a)時(shí),代碼會(huì)產(chǎn)生異常,因?yàn)閍沒(méi)有定義。

但是在后面加上var a = 123,執(zhí)行結(jié)果輸出undefined

js執(zhí)行分兩個(gè)步驟:

編譯(詞法解釋/預(yù)解釋)

執(zhí)行

這里起作用的就是變量提升,編譯后的代碼相當(dāng)于

為什么輸出的不是123呢?因?yàn)槌跏蓟粫?huì)提升,所以a = "123" 不會(huì)提升至頂部。
注意的是,這里的聲明都是通過(guò)var申明的。使用letconst聲明的變量,在達(dá)到聲明處之前都是無(wú)法訪問(wèn)的,試圖訪問(wèn)會(huì)導(dǎo)致一個(gè)引用錯(cuò)誤。

letconst必需先申明再引用,并且只會(huì)作用于當(dāng)前代碼塊內(nèi)部(函數(shù)內(nèi)部、大括號(hào)內(nèi)部、for循環(huán)內(nèi)部)。通常建議變量申明優(yōu)先使用const,然后再使用let

函數(shù)提升

function函數(shù)聲明會(huì)被提升到當(dāng)前作用域 的最前面。例如,在下面例子中test函數(shù)被提升至頂部:

但對(duì)于通過(guò)表達(dá)式申明的函數(shù)不會(huì)提升,如下:

test變量提升了,但初始化不會(huì)提升。

資料:《深入理解ES6》第一章

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/101965.html

相關(guān)文章

  • Js基礎(chǔ)知識(shí)(三) - 作用域與閉包

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

    lemanli 評(píng)論0 收藏0
  • Js基礎(chǔ)知識(shí)(三) - 作用域與閉包

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

    XFLY 評(píng)論0 收藏0
  • Js基礎(chǔ)知識(shí)(三) - 作用域與閉包

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

    tanglijun 評(píng)論0 收藏0
  • Js基礎(chǔ)知識(shí)(三) - 作用域與閉包

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

    lmxdawn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<