var 申明的变量 不存在块状作用域存在作用域提升可以重复定义变量可以先使用后申明 let 申明的变量 存在块状作用域不存在作用域提升不可重复定义变量必须先定义再使用 const 申明的变量 存在块状作用域不存在作用域提升不可重复定义变量必须先定义再使用变量必须申明就赋值,不可以先声明后赋值变量不可以重新赋值、但是引用类型可以修改里面的属性和值