第一次正式接触前端是在乐视实习的时候,当时的主管人很好,是个前端大牛,给我看到了前端中的很多技术及领域,平时也经常回答我各种小白问题,现在想来那段日子真的是很开心的。上手接触的第一个项目就是angular,但是最近发现自己的基础还有很多薄弱的地方,打算重新过一遍前端的基础知识,查缺补漏。
在梳理JS的第一页就看到了这句话,JavaScript:直接写入 HTML 输出流。当时有点没看懂,后来去网上查了一下。所谓的输出流,就是HTML渲染页面,实现输出的过程。HTML的加载过程是由上至下的,当遇到js脚本时,页面加载会被阻塞,浏览器会先去下载js脚本,当js脚本运行完之后,再继续渲染页面。
而当页面已经加载完成后,再通过js写入HTML输出流时,页面会重新加载,此时之前已经加载的东西会全部消失,只加载js中的内容。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<p>
JavaScript 能够直接写入 HTML 输出流中:
</p>
<p>
您只能在 HTML 输出流中使用 <strong>document.write</strong>。
如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。
</p>
</body>
<script>
window.onload=function(){
document.write("<h1>这是一个标题</h1>");
document.write("<p>这是一个段落。</p>");
}
</script>
</html>