js面试题:var let const的区别?
var
1、var声明的变量在全局内有效
2、可以重复声明
3、var声明的变量存在变量提升
let
1、let声明的变量不属于全局变量,属于块级作用域{}
2、不能重复声明 --- 可以防止变量重复定义产生的冲突,会直接报错
3、let声明的变量不存在变量提升
const
1、const声明的常量是一个只读属性,必须初始化
2、块级作用域
3、不能重复声明
4、不存在变量提升
5、const定义的基本数据类型不可以修改,但复杂数据类型可以修改
原因:const指针指向的地址是不可以改变的,但地址指向的内容是可以改变的