① var声明的变量属于函数作用域;let 和 const 声明的变量属于块级作用域,不能跨函数访问;
② var存在变量提升现象,而 let 和 const 没有;
③ var变量可以重复声明,值可改变;在同一个块级作用域下:let变量不能重新声明;const定义的变量是常量,声明时必须赋值,但不允许重复赋值,如果定义的是引用类型,可以修改数据内部结构。
① var声明的变量属于函数作用域;let 和 const 声明的变量属于块级作用域,不能跨函数访问;
② var存在变量提升现象,而 let 和 const 没有;
③ var变量可以重复声明,值可改变;在同一个块级作用域下:let变量不能重新声明;const定义的变量是常量,声明时必须赋值,但不允许重复赋值,如果定义的是引用类型,可以修改数据内部结构。