首頁  >  文章  >  web前端  >  javascript有幾種變數

javascript有幾種變數

青灯夜游
青灯夜游原創
2021-10-25 16:24:524148瀏覽

javascript有3種變量,分別為:1、全域變量,該變數宣告在所有函數之外;3、局部變量,它是在函數體內宣告的變數或是函數的命名參數;3 、區塊級變量,它是在區塊中聲明的變量,只在區塊中有效。

javascript有幾種變數

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript有3種變量,分別為全域變數、局部變數、區塊層級變數。

全域變數宣告在所有函數之外;局部變數是在函數體內宣告的變數或是函數的命名參數;區塊層級變數是在區塊中宣告的變數,只在區塊中有效。

3種變數對應3種作用域:全域作用域、局部作用域(也稱為函數作用域)、區塊層級作用域;變數的作用域跟宣告方式有很密切的關係。

使用 var 宣告的變數的作用域有全域作用域和函數作用域,沒有區塊級作用域;使用 let 和 const 宣告的變數有全域作用域、局部作用域和區塊級作用域。

注意:嚴格意義的全域變數都屬於window 物件的屬性,但let 和const 宣告的變數並不屬於window 對象,所以它們並不是嚴格意義上的全域變量,在此僅僅從它們的作用域這個角度來說它們是全域變數的。

由於var 支援變數提升,所以var 變數的全域作用域是對整個頁面的腳本程式碼有效;而let 和const 不支援變數提升,所以let 和const 變數的全域作用域指的是從宣告語句開始到整個頁面的腳本程式碼結束之間的整個區域,而宣告語句之前的區域是沒有效的。

同樣,因為var 支援變數提升,而let 和const 不支援變數提升,所以使用var 宣告的局部變數在整個函數中有效,而使用let 和const 宣告的局部變數從宣告語句開始到函數結束之間的區域有效。需要注意的是,如果局部變數和全域變數同名,則在函數作用域中,局部變數會履蓋全域變量,即在函數體中起作用的是局部變數;在函數體外,全域變數起作用,局部變數無效,此時引用局部變數將出現語法錯誤。

對區塊級變數來說,其作用域是區塊級變數宣告語句開始到區塊結束之間的區域。在區塊開始到區塊級變數聲明語句之間的區​​域為“暫時性死區”,在這個區域,區塊級變數沒有效。

另外,在非嚴格運行模式中,變數可以不需要聲明,這些沒有聲明的變量,不管在哪裡使用都屬於全域變數。通常不建議變數不宣告而直接使用,因為這樣有可能會產生一些不易發現的錯誤。

【推薦學習:javascript進階教學

#

以上是javascript有幾種變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn