Javascript 为什么在+&引用;号码是「;

Javascript 为什么在+&引用;号码是「;,javascript,Javascript,单击按钮可在代码块中循环五次 试试看 函数myFunction(){ var x=“”; 对于(变量i=0;i

单击按钮可在代码块中循环五次

试试看

函数myFunction(){ var x=“”; 对于(变量i=0;i<5;i++){ x=x+“数字为“+i+”
”; } document.getElementById(“demo”).innerHTML=x; } 我理解它返回的内容,但不理解每个语句前的x

<!DOCTYPE html>
<html>
<body>

<p>Click the button to loop through a block of code five times.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

<script>
function myFunction() {
  var x = "";
  for ( var i = 0; i < 5; i++ ) {
      x = x + "The number is " + i + "<br>";
  }
  document.getElementById("demo").innerHTML=x;
}
</script>

</body>
</html>
x=x+”数字为“+i+”
”;
x是一个在循环中不断增长的变量

该行:

x = x + "The number is " + i + "<br>";
x=x+“数字是”+i+
只是附加了一行 “编号为”+i+行尾 到当前值x

把这一行想象成:

x = x + "The number is " + i + <br>
var y=x+“数字是”+i+
x=y
在循环结束时,x值所有值:

“数字是0
数字是1
数字是2
数字是3
数字是4

如果您使用了x=“Hello”,而不是x=”,那么最终结果将是:

“你好,号码是0
号码是1
号码是2
号码是3
号码是4

x=x+“号码是”+i+“
”;

将指定的文本追加到当前值
x
并将其存储回x中。

但是如果我指定x=“hello”而不是“”,那么它只在第一行返回“hello the number is”,之后不再包括hello@Jordan这是因为如果你写x=“你好”。。。这一行在FOR/NEXT循环之外,所以它只执行一次,而不是多次,就像FOR/NEXT循环中的文本一样。你能为我展示一下这方面的工作吗?我明白它的作用,但为什么?x=“”数字是“那么我然后换行在哪里重新开始?让我们一步一步来:在开始,x=“”。在for循环的第一次迭代之后,x值为“数字为0
”。第二次循环迭代执行:x=“数字是0
”+“数字是1
”。因此,在第二次循环迭代结束时,x=“数字是0
数字是1
”。第三个循环是:x=“数字是0
数字是1
”+“数字是2
”,依此类推……从@GHL answer中可以看出,它在哪里重新启动并不是一个问题,他使用“”使您理解x变成了一个变量,其中包含您不断追加的所有文本。您应该知道javascript中字符串的“+”运算符具有连接的属性,也就是说,您不需要删除先前指定的文本,没有替换,只需添加:)我认为这可能会有所帮助-'X=X+1。。。把这个赋值看成一个数学方程,它绝对没有意义,没有一个值等于它自身加上一。但我们这里谈的不是数学。虽然它看起来像一个等式,但这是一个变量赋值,表示“检索X的值,添加一个,然后将结果存储回X。”
var y = x + "The number is " + i + <br>
x = y
x = x + "The number is " + i + "<br>";