關於var let const ~

全局做用域:var 塊級做用域:let const函數

1、全局做用域spa

1.最外層函數和在最外層函數外面定義的變量擁有全局做用域code

2.全部末定義直接賦值的變量自動聲明爲擁有全局做用域對象

 

 

 2、局部做用域blog

函數內部聲明的變量,屬於局部變量,只有局部做用域,外部沒法訪問。內存

可能致使兩個問題:作用域

(1)內層變量可能覆蓋外層變量(變量提高)(2)用來計數的循環變量泄露爲全局變量(不舉例了)class

 

 

 

3、塊級做用域變量

let const聲明的變量在在當前的塊區域內有效循環

用let const來定義變量的函數不能輸出,也不存在變量提高

變量要在聲明後才能使用(not defined)

同一做用域下let和const不能聲明同名變量

const聲明的變量不得改變值(複合類型數據除外)

 

 

 

只要塊級做用域內存在let和const 命令,它所聲明的變量就「定」(binding)這個區域,再也不受外部的影響(暫時性死區)

用let和const聲明的變量不會掛載到頂層對象(沒法用window.X形式輸出)

相關文章
相關標籤/搜索