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

資訊專欄INFORMATION COLUMN

JS基礎——變量提升

wangbjun / 823人閱讀

摘要:變量提升在中,通過聲明的變量,無論在何處申明,都會被視為聲明于所在函數的頂部如果不在函數內,則視為全局作用域頂部。通常建議變量申明優先使用,然后再使用函數提升函數聲明會被提升到當前作用域的最前面。

變量提升

在js中,通過var聲明的變量,無論在何處申明,都會被視為聲明于所在函數的頂部(如果不在函數內,則視為全局作用域頂部)。申明會提升,初始化不會提升。
例如:當我們多帶帶執行console.log(a)時,代碼會產生異常,因為a沒有定義。

但是在后面加上var a = 123,執行結果輸出undefined

js執行分兩個步驟:

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

執行

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

為什么輸出的不是123呢?因為初始化不會提升,所以a = "123" 不會提升至頂部。
注意的是,這里的聲明都是通過var申明的。使用letconst聲明的變量,在達到聲明處之前都是無法訪問的,試圖訪問會導致一個引用錯誤。

letconst必需先申明再引用,并且只會作用于當前代碼塊內部(函數內部、大括號內部、for循環內部)。通常建議變量申明優先使用const,然后再使用let

函數提升

function函數聲明會被提升到當前作用域 的最前面。例如,在下面例子中test函數被提升至頂部:

但對于通過表達式申明的函數不會提升,如下:

test變量提升了,但初始化不會提升。

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

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

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

相關文章

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

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

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

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

    XFLY 評論0 收藏0
  • Js基礎知識(三) - 作用域與閉包

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

    tanglijun 評論0 收藏0
  • Js基礎知識(三) - 作用域與閉包

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

    lmxdawn 評論0 收藏0

發表評論

0條評論

wangbjun

|高級講師

TA的文章

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