只是自己的理解,大家不要笑话
var的理解
定义变量的关键词!最初的js可能是不够严谨,导致var有一些不算bug的特征
- 变量提升 看代码
console.log(a)
var a = "哎"
正常来说,这种应该是报错的,但这里的a是undefined的,a有被定义却没被赋值,这算是个小特征吧!
let、const的理解
let 同理是定义变量,不过其值有效范围在块级区域内,const的主要是定义常量
互相比较的话
let、const和var相比主要三个区别点
- let不能重复定义变量,而var可以
- let不存在变量提升,var存在
- let只在作用域内有效