首頁 > web前端 > js教程 > 主體

關於javascript中的變數提升與函數提升

不言
發布: 2018-07-04 10:18:19
原創
1260 人瀏覽過

這篇文章主要介紹了詳解javascript中的變數提升和函數提升的相關資料,需要的朋友可以參考下

1在js中只有兩種作用域

a:全域作用域

b:函數作用域

在ES6之前,js是沒有區塊級作用域。

首先來解釋什麼是沒有區塊級作用域?

#所以此時 是可以列印輸出變數a的值。

2:什麼是變數提升?

在我們的js中,程式碼的執行時分兩步驟走的,1、解析2、一步一步執行

那麼變數提升就是變數宣告會被提升到作用域的最頂上去,也就是該變數不管是在作用域的哪個地方宣告的,都會提升到作作用域的最頂上去。

那麼上面這種寫法其實等價於下面這種寫法:

看幾個例子:

把上面的範例稍作改動:

結果就會大不一樣,

#再看一個例子:

3:什麼是函數提升?

輸出的結果是:

注意:函數聲明式,會將函數的宣告和定義一起提升到作用域的最頂上去。

如果是這種寫法:函數表達式宣告的函數

範例:

輸出的結果是:

最後的總結:

1:所有的宣告都會提升到作用域的最頂端去。

2:同一個變數只會宣告一次,其他的會被忽略掉。

3:函數宣告的優先權高於變數申明的優先權,並且函數宣告和函數定義的部分一起被提升。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

JavaScript設計模式中建構函式模式的介紹


#jQuery阻止事件冒泡實例分析

##########

以上是關於javascript中的變數提升與函數提升的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板