1:let用于定义变量即定义的值可以改变,const用于定于常量即定义的值不可以被改变
let i=1;
i=2;
console.log(i);//2
const j=2;
j=3;
console.log(j);//执行会报错
2:用var定义的变量可以重复声明,但是用let和const定义了的变量和常量都不能重复声明,否则会报错
var i=5;
var i=6;
consle.log(i);
let i=1;
let i=2;
consle.log(i);
const k=3;
const k=4;
consle.log(k);
3:var声明的变量没有块级作用域,但是let有
for(var i=0;i<5;i++){
//do nothing
}
console.log(i);
for(let j=0;j<5;j++){
//do nothing
}
console.log(j);
4:var声明的变量可以变量提升,let不存在变量提升。
console.log(i);//打印出undefined,但未报错
var i=0;
console.log(j);//报错,j is undefined
let j=1;
5:一旦用const声明了一个常量后必须立即赋值否则会报错
const i;
6:var声明的变量存在全局属性,但是用let声明的变量和用const声明的常量不存在全局属性
var i=0;
console.log(window.i);//0
let j=1;
console.log(window.j);//undefined
以上用法总结的不太全面,如有错误请不吝赐教!!!