变量声明
使用建议:
- 默认使用const
- 当需要修改时改为let
- 尽量不在使用var
let var const
var 是函数级别作用域,可以再同一作用域重复声明同一变量
var的问题:
- 函数级作用域,表示在block外(例如if语句、for语句等)外访问内部声明的变量,会经常声明出全局变量
- var声明的变量可重复声明 会导致难以定位的bug
因此推荐使用
let
let 是block级别函数作用域
const 声明常量 不能修改值类型 但是可以修改引用类型
代替立即执行函数
//用var声明私有变量时 只能用立即执行函数
(function () {
var name = "fk"
})()
//用let或者const时 只需要一个块即可
{
let name = "lyy"
}
变量提示
var存在变量提升 可以在变量为声明之前访问和使用变量
let虽然也存在变量提升 但是在变量在声明之前是处于临时性死区 在声明之前使用会报错