变量提升:JS执行前先要进行编译,编译时就将变量收集并提前声明
var 声明变量,作用域全局。 会发生变量提升,值为undefined
let 声明变量,作用域块内。不会提升,声明后可用,否则抛ReferenceError
const 声明只读常量,作用域块内。声明后不赋值或改值均会报错,SyntaxError/TypeError。不会提升,声明后可用
变量提升:JS执行前先要进行编译,编译时就将变量收集并提前声明
var 声明变量,作用域全局。 会发生变量提升,值为undefined
let 声明变量,作用域块内。不会提升,声明后可用,否则抛ReferenceError
const 声明只读常量,作用域块内。声明后不赋值或改值均会报错,SyntaxError/TypeError。不会提升,声明后可用