gpt4 book ai didi

javascript - 加法赋值混淆,又是 JavaScript

转载 作者:行者123 更新时间:2023-11-30 09:44:22 26 4
gpt4 key购买 nike

According to Mozilla , 加法赋值运算符将右操作数的值添加到变量并将结果赋给变量。两个操作数的类型决定了加法的行为。这是添加的行为:

  • 如果两个表达式都是数字,则相加。
  • 如果两个表达式都是字符串,则连接起来。
  • 如果 expression 是 numeric 而另一个是 string ,则连接。

基本上,text+=itext = text + i 相同;这是事实。

好吧,如果以上是真的,那么在下面的代码版本 2 中,当我将字符串 "The number is " 变量化为变量 时,为什么文本,它不是像代码版本 1 那样每次都用新数字写入字符串吗?

对于答案我不想用另一种方式来写。如果 text+=itext = text + i 相同,我需要弄清楚为什么它的工作方式不同。

我的 JavaScript 每天都在进步,但不管你信不信,这个简单的 += 阻碍了我进一步理解它,因为太多的例子都在使用 +=.

这是代码版本 1:

 <h1>JavaScript Loops</h1>
<p id="demo"></p>

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

这是代码版本 2,其中 var text 变量化为字符串 "The number is ":

<h1>JavaScript Loops</h1>
<p id="demo"></p>

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

最佳答案

您正在编写不同的代码。

a = a + b 确实与 a += b 相同。

var text = "";
text += "The number is " + i + "<br>";

等同于:

var text = "";
text = text + "The number is " + i + "<br>";

但它不等于:

var text = "The number is ";
text = text + i + "<br>";

这是你所拥有的。

关于javascript - 加法赋值混淆,又是 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39553419/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com