es5 中提供了 两个声明变量的方式
var function
es6中提供四种声明变量的方式
let const class import
注意:不忽略函数的形参函数的私有变量;
var 定义变量
var的功能:变量提升但未定义,给window提供添加一个属性
function 定义变量
function的功能:既可以变量提升同时还定义了。
let 定义变量
1. 没有变量提升的功能,在声明之前不能使用;
2. 不能重复声明
3. 不会给 window 添加属性