重写后的标题:如何以最佳方式输出JavaScript?
P粉969253139
2023-08-14 11:27:09
<p>我正在学习JavaScript,我看到推荐的输出代码的方法是使用document.getElementById...,而Document.write只应在测试中使用...</p>
<p>这是输出任何脚本的最佳方法吗?这段代码具体是做什么的?我写了以下代码,不确定"demo"是如何起作用的,以及为什么它是必要的...</p>
<pre class="brush:php;toolbar:false;"><html>
<head>
<script>
function addNumbers(arr){
var i, answer =0;
for(i=0; i<arr.length; i++){
answer += arr[i];
}
return answer;
}
</script>
</head>
<body>
<h4> 函数 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>
Demo指的是具有id“demo”的段落。您可以使用id(在整个HTML页面中必须是唯一的)来识别和使用javascript中的html标签。
document.write确实不再经常使用。有多个原因。由于在网络上有很好的解释,请查看这些答案或这篇文章。
如果您添加一些缺失的标签,如
</head>
,<body>
和<script>
,您的代码将正常工作,并且控制台日志正在发生。在下面的代码片段中运行。作为附注,现在的最佳实践是在关闭
</body>
标签之前,在页面底部进行javascript处理和加载。因为任何加载都发生在DOM加载之后。退一步,向前迈两步:
document.write
是三个函数之一document.open()
打开一个文档以从头开始写入,如果存在任何内容,则删除现有文档内容。document.write( string)
将字符串插入用于构建网页的字符流中。document.close()
关闭一个文档以进行写入。进一步的写入将重新打开文档并在此过程中清除现有内容。现在考虑以下事项
document.open/write/close
在DOM标准化和可用之前就已经存在。因此,
document.write
在现代Web编程中几乎没有用处。如果在页面加载完成后使用,它会清除页面内容。它几乎完全限于学生教程,这些学生尚未学习到DOM的存在,以及在使用window.open
打开的子窗口中以编程方式编写内容时偶尔使用。页面中的所有HTML元素在DOM中作为HTMLelement节点存在。可以通过调用诸如
document.getElementById
或document.querySelector
之类的方法来访问这些元素,并作为JavaScript对象值返回。HTMLElement根据标签类型而异,但如果它们表示HTML容器元素,则具有诸如innerHTML
和textContent
之类的属性,当使用脚本中的文本字符串进行更新时,会更改呈现页面的内容。回答你的问题,“demo”是HTMLParagraphElement的id值,其中id值用于访问DOM中的特定元素 -
id
值在页面HTMLElements中应该是唯一的。通过使用
document.getElementById
查询DOM可以获取(段落)元素对象。随后更改元素的innerHTML
内容会导致文档重新呈现新内容,更新页面的显示。