1、作用域
var 定义的变量不会限制作用域,可以当作全局作用域
let与const 会被限定在一个{ }内部
2、let与const区别
let 定义的变量可以被修改
const 定义的变量不可以被修改
但是!!!
如果const定义的是对象或者数组是可以修改内部的值的,
因为const定义的是对象或者数组存储的是对应的地址,只要不修改对应的地址都是可以的
const定义常数变量,栈里面就保存的数本身的值所以不能被修改
//对象 //可以被允许的 const user = { name: "A" }; user.name = "B"; user.age = 18; delete user.name; //禁止的 const user = { name: "A" }; user = { name: "B" }; // 报错:Assignment to constant variable //数组同理 const arr = [1,2,3]; arr.push(4); // 允许,地址不变 arr[0] = 99; // 允许 arr = [10,20]; // 报错,更换地址