作用域
代码在什么范围内可以使用,当作用域不存在的时候,会引起很多问题,
例如,变量和方法命名冲突,判断条件内,变量问题
在 ES5 中,if 和 for 没有作用域,方法有作用域
var
用于定义变量,但是不存在作用域
let
可以看作 var 的完善,也用来定义变量,但是有块级作用域
const
定义常量,在 ES6 中优先定义常量,只有需要改变的标识符,使用 let
const obj = {
name: 'tom',
width: 11px,
height: 12px
}
obj = {} // 错误用法,常量定义了以后,就不能更改指向
obj.name = 'jay' // 可以更改相关属性