ES6中提供了let关键字,跟var很相似,它们主要有以下几点区别
1、重复定义
var定义的变量可以进行重复定义,后面定义的值会将前面定义的覆盖
var i = 1;
var i = 2;
console.log(i);
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020070122100483.png)
let不允许重复定义
let i = 1;
let i = 2;
console.log(i);
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200701221138341.png)
2、全局作用域
在非严格模式下,通过var定义的变量会在全局作用域下绑定到当前的window对象上(严格模式和非严格模式可以自行百度了解)
var i = 1;
console.log("i" in window)