JS中var、let、const区分
简单来讲
var
被 var 定义的变量 可以在一个局域内被多次用var 定义 这里局域内指的是 比如 { } 或者一个函数区域内
let
被 let 定义的变量 只能在一个局域内被定义一次且不能被多次定义
const
被 const 定义的变量 一旦被定义后,此变量不能被修改 作为一个定义的常量使用
const时候确定了obj的地址 地址不可更改,但是内部属性是依托于这个地址的 并不是这个地址 品一品
注意
被var 定义的变量可以在未被定义的时候使用只是输出的结果为 underfind
被 let 定义的变量必须在使用之前被定义,否则报错
举例子
//var定义的值在全局有效,let定义的值只在所在代码块有效
{
var a = 10,
let b = 10
}
console.log(a) //10
console.log(b) //报错
//存在变量提升
console.log(a) //undefined
var a =10
//不存在变量提升,需先声明后使用
console.log(a) //报错 语法上称为暂时性死区
let a = 10