我有以下代码
let chosenRating = 0;
for(button in ratingButtons){
ratingButtons[button].onclick = (e) => {
chosenRating = e.target.innerHTML;
ratingButtons.forEach(btn => {
btn.classList.remove('selected');
})
e.target.classList.add('selected');
}
}
我希望能够全局访问 selectedRating 变量,但它只是说它是 0。我尝试只声明它而不分配它,但它说它是未定义的。当我在函数内部进行控制台登录时,在将其分配给 e.target.innerHTML 之后,我得到了我想要的值。但在函数之外,我没有得到相同的输出。
我认为,既然我在全局范围内声明了该变量,即使我当时没有给它分配任何内容,我也可以全局访问该变量。如何解决此问题,以便将我单击的最后一个按钮的 innerHTML 存储为 selectedRating 变量的值?
使用
var
代替 let
。
let 是一个范围变量,所以它不能改变。
var chosenRating = 0;