声明变量
var
全局作用域和函数作用域
可以重复声明,后面声明的会覆盖前面的
const,let
* +块级作用域,在块外访问会报未定义的错
* 变量提升
let声明的变量没有变量提升。
*容易被忽略的暂时性死区
* 重复声明
let在同一块内重复声明会报错,不能重复声明,但可以重复赋值
* const和let不同的点有:
1.1const声明的是一个常量,不能修改它的值;而let声明的变量可以重新赋值
2.1const在声明数组或者对象时,存储的并不是数组或者对象本身,而是引用的地址,因此可以改变数组或者对象内部的值,不会报错
因此,在使用const时要记住一点:使用const声明常量时,不能重新声明,也不能重新赋值。如果声明的常量是引用类型,我们可以更改存储在引用的值。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。