我有此代码:
function print(name) {
console.log(name)
}
var count = 2;
for(var i = 0; i < count; i++) {
var name = "player_" + String(i);
var button = document.createElement("INPUT");
button.type = "button";
button.value = name;
button.onclick =() => { print(name) }
document.body.appendChild(button);
var div = document.createElement("DIV");
div.id = name;
document.body.appendChild(div);
因此,如果我单击第一个button (player_1)
,它会打印"player_2"
,因为最后一个循环重写了var name
,并且两个按钮都链接到var name
,即{{1} }。
但是想像一下,我会将"player_2"
重写为var name = "player_" + String(i);
。现在可以工作了,但是怎么可能呢?这两个按钮都链接到let name = "player_" + String(i);
,最后一个for循环结束。
第二个问题是:
我有此代码:
let name
可以在某处向我解释此代码吗?我不明白。
谢谢!