document.write(X) 和 document.getElementById("").innerHTML = X 之间的区别

Difference between document.write(X) & document.getElementById("").innerHTML = X

javascript 的新手,如果这是一个愚蠢的问题,请见谅。标题中的两个语句似乎在做同样的事情,我需要注意什么特别的区别吗?

document.write 可用于在页面解析期间发出标记。解析后不能用于修改页面。 document.write 的输出直接进入解析器,就好像它首先出现在 HTML 文档中一样

innerHTML 不是函数而是 属性,它存在于所有 DOM 元素实例中,可用于使用标记设置它们的内容。这与实例上可用的各种 DOM 方法一起,是完成动态网页的主要方式。

他们做同样的事情。 document.write 将在加载时附加到页面,无论 <script> 标签恰好在页面中的任何位置。如果您在 页面加载后调用 document.write ,它将在附加之前 擦除 整个页面。

另一方面,document.getElementById("").innerHTML = '' 某个元素的HTML替换为您给它的内容(您也可以附加.innerHTML += '').

高度建议不要在您的页面中使用document.write