https://80post.com/reader/posts/156当你打开一个页面,浏览器会
1. (前面做了很多事情,与本文无关,省略)
2. 调用 document.open() 打开文档
3. document.write(...) 将下载到的网页内容写入文档
4. 所有内容写完了,就调用 document.close()
5. 触发 dom ready 事件( DOMContentReady)
所以你如果在第 4 步之前 document.write(1) 那么你就直接追加内容到当前位置,
如果你在第 4 步之后 document.write(),那么由于 document 已经 close 了,所以必须重新 document.open() 来打开文档,这一打开,内容就被清空了。
不信你可以这样验证一下:
1. 打开
baidu.com 等页面加载完
2. 在控制台运行 document.write(1),会看到页面清空,只有一个 1
3. 再次运行 document.write(1),会发现页面没有清空, 1 变成了 11 ,因为追加了一个 1
4. 运行 document.close(),这时文档就关闭了。
5. 再次运行 document.write(1),你会发现文档又清空了,变成了 1 。
完