不存在变量提升的let为什么影响声明前的语句?相关代码var a = 0console.log(a)let a = 9console.log(a)VM102:3 Uncaught SyntaxError: Identifier 'a' has already been declared直接第三行报错,但是第二行也没有输出顶部添加其他console代码后依然直接报错看起来let的声明依旧被提升到了顶部?测试环境(Safari 12)(chrome 69)PS: var 不存在重复声明限制var a = 0console.log(a) //0var a = 9console.log(a) //9
1 回答

至尊宝的传说
TA贡献1789条经验 获得超10个赞
这是因为在控制台里,使用 let
const
声明变量的时候,遵循本身定义的规则,具有块级作用域(不允许声明重复的变量名),而且定义的变量并没有销毁掉。
添加回答
举报
0/150
提交
取消