今天学习了javascript第一部分,关于使用document.write()写入HTML文档流。但在教程上看到一行提示:您只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。这使我有些困惑,然后查了网上的各种说法,最后大概的总结一下。
所谓的HTML文档加载,其实HTML文档是自上而下的加载HTML表示的内容,当整个页面内容都加载完毕之后,再调用document.write()这方法会将显示的页面内容都会清楚。
当时我困惑的地方是,在文档加载完毕之后如何再使用这方法?在我之前所以为的是这样的代码
文档第一行
文档第二行
以为所谓的在文档加载完后再调用该方法是这js语句在文档的最后,结果用上面的这样的写法其实不会清除,因为我想的是错误的。
后来了解之后,所谓的在文档加载完后再使用这方法是这样的:
这是第一行文字
这是第二行文字
function myFunction(){ document.write('这下应该会清除了吧?');}
文档加载完的情况是显示第一到第三行字。然后所谓的再使用document.write()这方法,是通过点击第三行文字调用myFunction方法使用的,因此这是在文档加载完后使用document.write()的,所以整个页面的内容都要被清除覆盖掉。