Javascript加法运算符令人困惑&不工作

Javascript Addition operator Confusing & Not Working

本文关键字:工作 运算符 Javascript      更新时间:2023-09-26

好吧,我试着学习JS,但是像这样的小事情让它变得困难,让我想说,忘记它吧

例如w3schools说A+=B和说A = A+ B是一样的但是当我改变这段代码周围不使用A+=B操作数,它和代码它工作为A = A+ B不一样!所以这意味着A+=B并不等于A = A+ B !

这是w3schools的例子,我正在学习"while"循环,下面是我的问题,这是他们的代码,它每次在新行上写"数字是1-19",因为它应该

<h1>JavaScript while</h1>
<p id="demo"></p>
<script>
    var text = "";
    var i = 0;
    while (i < 10) {
        text += "<br>The number is " + i;
        i++;
    }
    document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

下面是我的代码,我基本上是从"A+=B"重写为"A = A+ B",它只写了"数字是"一次和数字1-19在同一行!

<h1>JavaScript while</h1>
<p id="demo"></p>
<script>
    var text = "<br>The number is ";
    var i = 0;
    while (i < 10) {
        text = text + i;
        i++;
    }
    document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

您可以在每次循环中连接字符串:

var text = "";
var i = 0;
while (i < 10) {
  var curtext = document
    .getElementById("demo")
    .innerHTML;
  document
    .getElementById("demo")
    .innerHTML = curtext + "<br>The number is " + i;
  i++;
}
<div id="demo"></div>

您的代码和W3S的代码之间的区别在于您每次将i值添加到文本中而不是所需的文本,因此输出将是<br>The number is 123456789,以避免您每次都应添加<br>The number is:

var text = '',
  text2 = ''
prefix = '<br>The number is',
  i = 0;
console.clear();
while (i < 10) {
  var toAppend = prefix + i
  text += toAppend;
  text2 = text2 + toAppend;
  i++;
}
document.write(text);
document.write('<br />*****************************');
document.write(text2);