1.变量提升
变量使用:创建(create)、初始化(initialize) 和赋值(assign)。
var 的“创建”和“初始化”都被提升了;
function 的“创建”、”初始化“和”赋值“都被提升了;
let 的“创建”过程被提升了,但是“初始化”没有提升。
举例:
function fn(){
console.log(a)//undefined
var a =3;
console.log(b)//undefined
let b =4;
}
{
console.log(c);//Uncaught ReferenceError: c is not defined
let c = 5;
}
const 只有「创建」和「初始化」,没有「赋值」过程。
参考链接:let深入理解—let存在变量提升吗?