Javascript 什么是;文本+=&引用;这个代码的一部分是什么?

Javascript 什么是;文本+=&引用;这个代码的一部分是什么?,javascript,Javascript,我想了解这个forloop在Javascript中是如何工作的。最让我困惑的部分是“文本+=”部分 我在所有我认为我能理解的行旁边发表了评论。对整个代码的任何清晰解释都将不胜感激 我在w3schools网站上玩过这些代码——我是在那里发现的 代码: 变量、文本; 水果=[“香蕉”、“橘子”、“苹果”、“芒果”]; text=“”//列表开头 果实。forEach(myFunction)//每种水果加 text+=“”;//列表末尾 document.getElementById(“demo”

我想了解这个forloop在Javascript中是如何工作的。最让我困惑的部分是“文本+=”部分

我在所有我认为我能理解的行旁边发表了评论。对整个代码的任何清晰解释都将不胜感激

我在w3schools网站上玩过这些代码——我是在那里发现的

代码:


变量、文本; 水果=[“香蕉”、“橘子”、“苹果”、“芒果”]; text=“
    ”//列表开头 果实。forEach(myFunction)//每种水果加 text+=“
”;//列表末尾 document.getElementById(“demo”).innerHTML=text;//添加到html 函数myFunction(x){//带有一个要分析的参数的函数 text+=“
  • ”+x+“
  • ”; }
    x+=y
    x=x+y
    的语法糖,这意味着这两者是相同的

    因此,在你的情况下:

    • text+=“
    只需将
    结束标记附加到
    文本
    变量

  • text+=”
  • “+x+”
  • 相当于
    text=text+“
  • ”+x+“

  • x+=y
    x=x+y
    的语法糖,这意味着这两者是相同的

    因此,在你的情况下:

    • text+=“
    只需将
    结束标记附加到
    文本
    变量

  • text+=”
  • “+x+”
  • 相当于
    text=text+“
  • ”+x+“

  • @bipll的原子性?当然不是在这种特殊情况下,但在一般情况下,LHS只会被评估一次。我不确定我是否理解你的意思。你能简单地解释一下吗?
    最长的求值()=最长的求值()+42我理解x=x+y部分。所以text=text+x。但我不明白功能部分。“text=text+”
  • “+x+”
  • ”。它怎么知道每次通过循环时不包括ul标签?@bipll的原子性?当然不是在这种特殊情况下,但在一般情况下,LHS只会被评估一次。我不确定我是否理解你的意思。你能简单解释一下吗?
    最长的评估()=最长的求值()+42;
    我理解x=x+y部分。因此text=text+x。但我没有得到函数部分。“text=text+”
  • “+x+”
  • ”。它怎么知道每次通过循环时不包括ul标签?
    <!DOCTYPE html>
    <html>
    <body>
    <p id="demo"></p>
    
    <script>
    var fruits, text;
    fruits = ["Banana", "Orange", "Apple", "Mango"];
    
    text = "<ul>"; //start of list
    
    fruits.forEach(myFunction); //for each fruit add 
    
    text += "</ul>"; // end of list
    document.getElementById("demo").innerHTML = text; // add to html
    
    function myFunction(x) {  // function with one parameter to parse
      text += "<li>" + x + "</li>";
    } 
    </script>
    
    </body>
    </html>