document.write() 应该在我的页面加载后删除所有现有的 html 吗?

Rox*_*Pro 3 html javascript dom

我红色这个:

write() 方法主要用于测试:如果在 HTML 文档完全加载后使用它,它将删除所有现有的 HTML。

所以我决定测试一下,我写了这段代码:

<!doctype html> 
<html>
<head>
 <meta charset="utf-8">
</head>
    <body>
    <p>I'm TEST which should be a deleted?</p>
        <script>
            var drink = "Red bull";
            var lyrics = "";
            var cans = 99;

            while(cans > 0)
            {
                lyrics += cans + " cans of " + drink + " on the wall <br>";   
                cans--;  
            }
            document.write(lyrics);
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我添加了<p>I'm TEST which should be a deleted?</p> 之后我document.write在我的script标签之间调用,这应该删除所有现有的html,包括这一段?

但接下来的输出是:

在此输入图像描述

但段落还在,是不是应该按照这句话删除:

如果在 HTML 文档完全加载后使用它,它将删除所有现有的 HTML。

dav*_*xxx 5

document.write(lyrics);在页面加载期间调用。

在函数中声明它:

<script>  
  function writeData(){
    document.write(lyrics);
  }
</script>
Run Code Online (Sandbox Code Playgroud)

并在文档完全加载时调用该函数,您应该会看到另一种行为。

例如,单击按钮:

<button onclick="writeData()">WriteData</button>
Run Code Online (Sandbox Code Playgroud)