塊級作用域繫結

2021-09-28 21:23:05 字數 395 閱讀 2760

1、無論在哪宣告,都會被當成在當前作用域頂部宣告的變數(hosting機制)

2、var會覆蓋全域性屬性

1、塊級識別符號,不會被提公升,用臨時死區(tdz)表示

2、let不能覆蓋全域性屬性,只能遮蔽

3、let不能重複定義,即定義乙個已被定義過了的乙個變數

4、for-in迴圈和for-of迴圈

1、塊級識別符號,不會被提公升,用臨時死區(tdz)表示

2、const不能覆蓋全域性屬性,只能遮蔽

3、const不能重複定義,即定義乙個已被定義過了的乙個變數

4、for-in迴圈和for-of迴圈

5、宣告的是常量,常量必須初始化,且不能重新被賦值

6、可宣告物件,不允許修改繫結,但允許修改值

一 塊級作用域繫結let const var

1 變數提公升機制 無論在哪宣告,都會被當成在當前作用域頂部宣告的變數,這種機制在很多時候會產生問題。2 如果是在全域性作用域中宣告,會被繫結到window屬性中,示例如下 var a 1 console.log a,window.a 輸出1 1 3 同一變數可重複宣告。1 let和const的區別...

塊級作用域

跨級作用域本身沒有宣告可以說的,就需要注意兩點 1.跨級作用域內宣告的var變數並不會存在這個塊級作用域內,而是會提公升到非塊級作用域內 2.在塊級作用域內宣告function,在不同瀏覽器會有不同結果,如果是根據條件宣告function的話,請用var func function的形象 但是為什麼...

全域性作用域 塊級作用域

瀏覽器環境有一頂層物件window,window的屬性和var的全域性變數等價。如果用var設定了window物件的內建屬性作為變數,內建屬性值將會被覆蓋。如果是window物件的內建屬性,輸出預設值 非內建則輸出underfined。console.log window.name window.n...