全局做用域:var 塊級做用域:let const函數
1、全局做用域spa
1.最外層函數和在最外層函數外面定義的變量擁有全局做用域code
2.全部末定義直接賦值的變量自動聲明爲擁有全局做用域對象
2、局部做用域blog
函數內部聲明的變量,屬於局部變量,只有局部做用域,外部沒法訪問。內存
可能致使兩個問題:作用域
(1)內層變量可能覆蓋外層變量(變量提高)(2)用來計數的循環變量泄露爲全局變量(不舉例了)class
3、塊級做用域變量
let const聲明的變量在在當前的塊區域內有效循環
用let const來定義變量的函數不能輸出,也不存在變量提高
變量要在聲明後才能使用(not defined)
同一做用域下let和const不能聲明同名變量
const聲明的變量不得改變值(複合類型數據除外)