js中let使用时遇到的问题

在这里插入图片描述
一开始我并未声明y,然后直接用了。第一段错误虽然提示的是y未定义,但是let x = y;其实还是执行了,这里涉及到变量提升问题。结果就是导致x实际上依旧被提升,即执行了let x;的操作,这一点在第三段的报错x has been declared得到证实。

我一开始是无法理解x = 1;出错在哪的。经过反复试验,就是由于let x = y;这一步的错误。导致x这个变量无法使用了。无论是初始化还是赋值都会报错。

内核机制具体的我也不理解,但是如果犯了第一段这种错误,最好换个变量名。

猜你喜欢

转载自blog.csdn.net/sky1679/article/details/88116952