1、var是全局作用域,let是块级作用域 2、var存在变量提升,let不存在变量提升 3、var可以先使用在定义,let只能先定义再使用 4、var允许在相同的作用域内重复声明同一个变量,let不允许