Heim  >  Fragen und Antworten  >  Hauptteil

Umgeschriebener Titel: Wie kann ich JavaScript am besten ausgeben?

<p>Ich lerne JavaScript und habe gesehen, dass die empfohlene Methode zur Codeausgabe die Verwendung von document.getElementById ist... und Document.write sollte nur in Tests verwendet werden...</p> <p>Ist dies der beste Weg, ein Skript auszugeben? Was genau macht dieser Code? Ich habe den folgenden Code geschrieben, bin mir aber nicht sicher, wie „Demo“ funktioniert und warum es notwendig ist ... </p> <pre class="brush:php;toolbar:false;"><html> <Kopf> <script> Funktion addNumbers(arr){ var i, Antwort =0; for(i=0; i<arr.length; i++){ Antwort += arr[i]; } Antwort zurückgeben; } </script> </head> <Körper> <h4> Funktion addNumbers: </h4> <p id="demo"></p> <script> var myArray = [1,2,3,4,5,6,7,8,9]; document.getElementById("demo").innerHTML = addNumbers(myArray); </script> </body> </html></pre> <p><br /></p>
P粉969253139P粉969253139454 Tage vor454

Antworte allen(2)Ich werde antworten

  • P粉827121558

    P粉8271215582023-08-15 10:45:51

    Demo指的是具有id“demo”的段落。您可以使用id(在整个HTML页面中必须是唯一的)来识别和使用javascript中的html标签。

    document.write确实不再经常使用。有多个原因。由于在网络上有很好的解释,请查看这些答案这篇文章

    如果您添加一些缺失的标签,如</head><body><script>,您的代码将正常工作,并且控制台日志正在发生。在下面的代码片段中运行。

    作为附注,现在的最佳实践是在关闭</body>标签之前,在页面底部进行javascript处理和加载。因为任何加载都发生在DOM加载之后。

    function addNumbers(arr) {
      var i, answer = 0;
    
      for (i = 0; i < arr.length; i++) {
        answer += arr[i];
    
      }
      return answer;
    }
    
    var myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    
    document.getElementById("demo").innerHTML = addNumbers(myArray);
    
    console.log(addNumbers(myArray))
    <html>
    
    <head>
    
    </head>
    
    <body>
    
      <h4> Function addNumbers: </h4>
    
      <p id="demo">This is a paragraph that can be identified using the id attribute.</p>
    
    </body>
    
    </html>

    Antwort
    0
  • P粉757432491

    P粉7574324912023-08-15 09:16:35

    退一步,向前迈两步:

    document.write 是三个函数之一

    • document.open() 打开一个文档以从头开始写入,如果存在任何内容,则删除现有文档内容。
    • document.write( string) 将字符串插入用于构建网页的字符流中。
    • document.close() 关闭一个文档以进行写入。进一步的写入将重新打开文档并在此过程中清除现有内容。

    现在考虑以下事项

    1. 在页面输入流的末尾,文档会自动关闭。
    2. 使用“文档对象模型”(“DOM”)构建文档,可以从脚本中访问和操作。
    3. document.open/write/close 在DOM标准化和可用之前就已经存在。

    因此,document.write 在现代Web编程中几乎没有用处。如果在页面加载完成后使用,它会清除页面内容。它几乎完全限于学生教程,这些学生尚未学习到DOM的存在,以及在使用window.open打开的子窗口中以编程方式编写内容时偶尔使用。

    页面中的所有HTML元素在DOM中作为HTMLelement节点存在。可以通过调用诸如document.getElementByIddocument.querySelector之类的方法来访问这些元素,并作为JavaScript对象值返回。HTMLElement根据标签类型而异,但如果它们表示HTML容器元素,则具有诸如innerHTMLtextContent之类的属性,当使用脚本中的文本字符串进行更新时,会更改呈现页面的内容。

    回答你的问题,“demo”是HTMLParagraphElement的id值,其中id值用于访问DOM中的特定元素 - id值在页面HTMLElements中应该是唯一的。

    通过使用document.getElementById查询DOM可以获取(段落)元素对象。随后更改元素的innerHTML内容会导致文档重新呈现新内容,更新页面的显示。

    Antwort
    0
  • StornierenAntwort