var let const

310 阅读1分钟

var

var可以声明前置

 a= 2
 var a 
 var a = 4

let

let 不可以声明前置

a =3 
let a = 4//报错

let 不可重复声明

let a =3 
let a =4//报错

let 存在块级作用域

    for(let i=0;i<3;i++){
        console.log(i)
    }
    console.log(i)//报错

const

const声明的常量不可改变

const a =1 ;
a =2 //报错

const obj = {a:1}
obj.a=2//可以 因为地址没变
obj = {a:2}//报错 修改后地址变了,所以报错