1. 程式人生 > 實用技巧 >var let const的作用域的比較與學習

var let const的作用域的比較與學習

1.var 宣告的變數是可以重新宣告和重新分配
let 宣告的變數是不可以重新宣告和但可以重新分配
用const宣告的變數不能重新宣告也不能重新分配
在這裡插入圖片描述
在這裡插入圖片描述
2.var宣告的變數是函式作用域或者是全域性作用域
當var宣告的變數是全域性變數時,他會在window上面建立一個同名的全域性屬性
當在函式內部用var宣告變數時,該變數的作用域為該函式
在這裡插入圖片描述
3.意外的全域性變數
在沒有任何宣告的所分配的變數,(無論是var,let,const),都屬於全域性變數
在這裡插入圖片描述
4.用let宣告的全域性變數不會在window上建立一個同名的全域性屬性。
在函式內部用let宣告的變數作用域為該函式,通俗的說區域性變數(這一點跟var一樣)

在這裡插入圖片描述
在塊裡面用let宣告的變數,其作用域為該塊作用域,而var宣告的變數則不受影響
在這裡插入圖片描述
用let(const)宣告的變數的宣告是不能被提升的,訪問在宣告之前用let(const)宣告的變數會產生暫存死區,var則不存在這種情況
在這裡插入圖片描述
5.
用const宣告的全域性變數不會在window上建立一個同名的全域性屬性。
在函式內部用let宣告的變數作用域為該函式,通俗的說區域性變數(這一點跟var,let一樣)
在塊裡面用const宣告的變數,其作用域為該塊作用域
用const宣告的變數不能重新宣告也不能重新分配