TA贡献1864条经验 获得超6个赞
用var声明变量的时候,会有变量声明提升的效果,也就是实际上变量b在函数内顶部已经被声明,但此时还没有被赋值,所以是undefined;用let声明变量的时候,不具有变量声明提升的效果,所以报错了。
TA贡献1785条经验 获得超8个赞
js中var会使变量提升,也就是会跑到最前面,如果是在函数里面,就跑到函数最前面(示例a旁边),就相当于比示例console.log先了定义,所以能输出。而换成let则不会提升,在哪个位置定义就在哪个位置,所以会输出未定义
数据结构与算法(前端版)
¥ 58.00
Web前端开发修炼指南
解锁前端面试体系核心攻略
¥ 78.00
高薪之路—前端面试精选集
JavaScript 设计模式精讲
¥ 48.00
举报