var和let in for循环与链接到变量之间的区别

时间:2019-03-31 13:28:22

标签: javascript

我有此代码:

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

可以在某处向我解释此代码吗?我不明白。

谢谢!

0 个答案:

没有答案