首页 新闻 会员 周边

js,let作用域

0
悬赏园豆:5 [待解决问题]

<script>
let x=1;
for(let x=x+1;x<5;x++)
console.log(x);
{
}

</script>

网页端显示应该是2,3,4,5才对的吧,为什么是2,3,4,,这里边的两个x是不是在作用域上有什么差异

把那只小熊还给我的主页 把那只小熊还给我 | 初学一级 | 园豆:189
提问于:2020-10-28 17:54

这个代码真的能跑起来?let x = x + 1 当执行 x + 1 的时候 x 还在临时死区里吧

by.Genesis 3年前
< >
分享
所有回答(2)
0

for循环的限制条件x<5,怎么会输出5

你上面的写法会报错的,所以记住不管在任何时候都要避免局部变量跟全局变量重名,有些语言直接编译不通过,而且这样很容易引起歧义

E行者 | 园豆:1761 (小虾三级) | 2020-10-28 18:39
0

let 在一个作用域不能重复定义一个变量吧

U型枕 | 园豆:231 (菜鸟二级) | 2020-11-03 11:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册