var、let、const的区别
1.var是es5提出的,let和const是es6提出的。2.const声明的是常量,必须赋值3.let和var声明的是变量,声明之后可以更改,声明时可以不赋值。4.var允许重复声明相同变量,后一个变量会覆盖前一个变量(不合理);let和const在同一作用域内不允许重复声明相同变量,否则报错。5.var声明的变量存在变量提升(将变量提升到当前作用域的顶部),即变量可以在声明之前调用,值为undefined。let不存在变量提升,即它们是先声明后才能调用,否则报ReferenceError错