document.write()做什么?

Akh*_*ran 8 javascript

这是一个非常基本的问题.我有这个脚本:

    <script type="text/javascript">
        function write(){
            document.write('Hello2')
        }
        write();
    </script>
Run Code Online (Sandbox Code Playgroud)

它显示了我的完整页面.在页面末尾将显示Hello2.但是当我去开发工具并调用write()时,它将替换我的整个html.只是好奇才知道.

        window.onload=write;// has the same effect. Clear's my page.
Run Code Online (Sandbox Code Playgroud)

谢谢.

T.J*_*der 16

当浏览器读取并解析文档时,如果有一个script元素调用document.write,则输出document.write将在此时插入到文档中.但是,稍后,一旦页面完全加载,如果您使用document.write,它会隐式执行a document.open,这会擦除页面并开始从头开始编写新页面.

有关MDN的更多信息:

通常,不是使用document.write向页面添加内容,而是使用各种DOM方法(直接或通过jQuery,YUI,Closure其他任何库中的任何库).


Cha*_*nga 7

当页面完成加载执行时,它会覆盖整个内容 - 这个问题的答案中提出的一个要点:为什么document.write被认为是"不良做法"?