为什么我不能用 `var output = document.getElementById('message').innerHTML; 做一个循环

why can't I do a loop with `var output = document.getElementById('message').innerHTML;`

拜托,如果我想在第二个示例中将 'innerHTML' 存储在 'output' 变量中,为什么我不能执行循环?请问:'var output = document.getElementById('message').innerHTML;'

var x = 0;
var output = document.getElementById('message');
do {
  output.innerHTML = output.innerHTML + x;
  x = x + 1;
}
while (x < 6);
------------------------------------------------------------                                                                
var x = 0;
var output = document.getElementById('message').innerHTML;
do {
  output = output + x;
  x = x + 1;
}
while (x < 6);

循环有效 但你不能添加这样的东西 var 输出 = document.getElementById('message').innerHTML; 输出 = 输出 + x;

enter image description here

如果您对为什么不能将 innerHTML 添加到 output = output +x 中的 output 感到困惑,但您可以添加第一个示例。这是因为第一个例子,输出应该存储类似 [object ...] 的内容。所以每一次,output.InnerHTML 都会不断更新。对于第二个示例,您已经将 output 设置为 messageinnerHTML 并且它已经成为一个字符串,而不是 html。所以你不能使用 innerHTML 来改变任何东西。 innerHTML only help to change the value of html` 标签,这就是循环不起作用的原因。