- var
var关键字定义的变量会存在变量提升,并且可以重复定义
console.log(b) //undefined 变量提升
var b =2
var a = 1
var a =2
console.log(a) //2
- let,cosnt
let及const属于块级作用域,不能被重复定义,
暂时性死区,不存在变量提升,必须先定义再使用,否则报错,
const用于定义常量,不能被修改,否则报错,但是const为复杂数据类型时,修改属性及值不会报错,修改指针则会报错
const arr= [1,2,3,]
arr[1]=4
console.log(arr)
arr = [3,45] //报错