<script> let x=1; for(let x=x+1;x<5;x++) console.log(x); { }
</script>
网页端显示应该是2,3,4,5才对的吧,为什么是2,3,4,,这里边的两个x是不是在作用域上有什么差异
这个代码真的能跑起来?let x = x + 1 当执行 x + 1 的时候 x 还在临时死区里吧
for循环的限制条件x<5,怎么会输出5
你上面的写法会报错的,所以记住不管在任何时候都要避免局部变量跟全局变量重名,有些语言直接编译不通过,而且这样很容易引起歧义
let 在一个作用域不能重复定义一个变量吧
这个代码真的能跑起来?let x = x + 1 当执行 x + 1 的时候 x 还在临时死区里吧
– by.Genesis 4年前