var的用法
var用于声明一个变量
1. 变量提升:无论在作用域中哪一步定义,都会位于所在定义域的顶部
2. 可重复定义:var 可定义相同变量名赋值,但最终只保留最后一个值
3. 自动存入 window:使用 var 在全局作用域中定义变量,可以使用 全局对象 window 进行访问
let的用法
let 用于声明一个变量
1. 变量不会提升:即在变量声明之前无法使用该变量
2.不可以重复声明:let不可定义相同变量名赋值
3.具有块级作用域:只在当前作用域有效
const的用法
const 用于声明一个常量
1.变量声明不会被提升:即在变量声明之前无法使用该变量
2.不允许重复声明:const不可定义相同变量名赋值
3.具有局部作用域:即const声明的变量只能在对应代码块中使用
4.const声明的变量在声明的时候就需要赋值:并且只能赋值一次,不能修改。
小结
变量提升 | 范围 | 可重复声明 | 值不可更改 | |
var | 是 | 函数作用域 | 是 | 是 |
let | 否 | 块级作用域 | 否 | 否 |
const | 否 | 块级作用域 | 否 | 否 |
不使用var,优先选const,其次是let