我知道我们不能在 JavaScript 中重新分配或重新声明 const 变量,因为它是常量。但是那个代码呢?!
const myCustomDiv = document.createElement('div');
for (let i = 1; i <= 200; i++) {
const newElement = document.createElement('p');
newElement.textContent = 'This is paragraph number ' + i;
myCustomDiv.appendChild(newElement);
}
document.body.appendChild(myCustomDiv);
正如我们在前面的代码中看到的,当循环迭代时, newElement
const 变量 被重新声明。我知道如果我们重新分配一个const
类似的属性是可以的,textContent
但是我们怎么能重新声明它呢?!
我试图将声明放在const
全局范围中,如下所示:
const myCustomDiv = document.createElement('div');
const newElement = document.createElement('p');
for (let i = 1; i <= 200; i++) {
newElement.textContent = 'This is paragraph number ' + i;
myCustomDiv.appendChild(newElement);
}
document.body.appendChild(myCustomDiv);
我得到了不同的输出,而改变的只是textContent
同一段落的内容,如果您在控制台中运行代码,您可以看到。
我希望任何人都可以帮助并告诉我为什么会发生这种情况(如何const
在循环中重新声明变量以及为什么它不能在全局范围内工作?)
以及如何以不同的值多次newElement
保存相同的变量( )?myCustomDiv