0 0

document.write()方法的执行方式0

<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>

</head>

<body>
asdf
</body>
</html>
<script type="text/javascript">
document.write("1");
</script>
这样一段代码执行的结果为asdf1
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>

</head>

<body>
asdf
</body>
</html>
<script type="text/javascript">
window.onload=function(){document.write("1");}
</script>
这样的执行结果就是1
write()方法到底什么时候会覆盖网页原有的内容?
2014年5月13日 12:41

4个答案 按时间排序 按投票排序

0 0

采纳的答案

两段代码的区别在于调用时机:

第一段代码是在页面加载过程中调用document.write()方法,由于此时页面还没有加载完成,因此document.write()方法会继续在页面中追加内容;结果就是asdf1

第二段代码因为注册到页面的onload方法,会在页面加载完成后执行,这个时候document.write()会开启新的数据流,此时写入的任何内容将覆盖原有页面。

题注可以参考:
js中document.write的那点事
http://www.cnblogs.com/dh616854836/articles/2140349.html

我修改了一下题主提供的样例,希望能对题主有帮助。

<html> 
<head> 
<meta charset="utf-8"> 
<title>无标题文档</title> 

</head> 

<body> 
asdf
<script type="text/javascript"> 
document.write("1");
</script>
dddd
</body> 
</html> 

2014年5月13日 22:06
1 0

   在载入页面后,浏览器输出流自动关闭。在此之后,任何一个对当前页面进行操作的document.write()方法将打开—个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)。因此,假如希望用脚本生成的HTML替换当前页面,就必须把HTML内容连接起来赋给一个变量,使用一个document.write()方法完成写操作。

2014年5月13日 12:57
0 0

首先你要清楚HTML在页面上呈现的原理:
html标签中的元素在浏览器中呈现是边加载边呈现的。就像我们在白纸板上画画。
内容是边画边呈现的

第一个显示的结果:在页面加载过程中调用document.write()方法,由于还是变加载变呈现的 没有完全加载,因此document.write()在页面中追加内容;结果就是asdf1

第一个显示的结果:因为有onload方法,所以页面加载完成后执行,这个时候document.write()会开启新的数据流,此时写入内容将覆盖原有页面。

2014年5月13日 23:32
0 0

在你的第一种方式中并没有执行document.write("1"),因为你没有指定它什么时候触发所以结果肯定是不变的

第二种方法window.onload=function(){document.write("1");}将其绑定到了window.onload事件上,意思是当页面加载完毕(即onload)时执行这段代码,所以加载完毕后执行document.write("1"),重新绘制了页面,即用"1"代替了原来页面内容"asdf"

所以说,具体什么时候执行是你自己指定的

2014年5月13日 14:18

相关推荐

    用javascript地址栏显示源码

    - 对于初学者来说,这是一种直观了解网页构成方式的方法。 - **限制**: - 此方法只适用于简单的页面查看需求,对于复杂的动态页面可能无法完全反映实际的DOM结构。 - 可能会影响到某些依赖于特定DOM结构的功能...

    各浏览器对document.getElementById等方法的实现差异解析

    1. 使用`apply`方法改变`getElementById`的执行上下文,确保`this`指向`document`: ```javascript // 修复document.getElementById document.getElementById = (function(fn){ return function(){ return fn...

    《JavaScript 程序设计》 基础篇2

    - if...else语句:是if语句的扩展,提供了两个分支,即条件为真时执行一种操作,条件为假时执行另一种操作。 - if...elseif...else语句:用于处理多个条件判断的场景,当第一个条件不满足时,会检查下一个条件,...

    用一下[removed].rar

    鉴于`document.write`的局限性和潜在问题,现代Web开发倾向于使用其他方法来动态更新页面内容。以下是一些推荐的替代方法: - DOM操作:使用`innerHTML`, `appendChild`, `insertBefore`, `replaceChild`等DOM ...

    JavaScript

    document.write("Hello, World!"); ``` - **代码块**:由多条语句组成的集合,通常用于控制结构(如if语句或循环)中。 ##### 3.2 变量 JavaScript中使用变量来存储数据。变量的声明方式有多种: - `var`:声明...

    javascript中的document.open()方法使用介绍

    然后,调用document.open()打开一个新的文档流,紧接着通过document.write()方法将变量msg的内容输出到页面中,最后调用document.close()来结束写入操作。 值得注意的是,在实际开发中,document.open()一般会与...

    JS的document_详细介绍及用法

    此外,`document`对象还有许多其他属性和方法,如`document.forms`用于访问表单,`document.images`用于访问图像,以及`document.getElementsByName()`和`getElementsByTagName()`方法用于按名称或标签名查找元素。...

    JAVASCRIPT在页面加载时的执行顺序[参考].pdf

    这个问题可能是因为 IE 在 `document.write()` 时,并未等待加载 SRC 中的 JavaScript 代码完毕后,才执行下一行,所以导致 2 先弹出,并且执行到 `document.write('alert("我是" + tmpStr)')` 调用 tmpStr 时,...

    javascript实例讲解

    document.layers.position.document.write(myclock); document.layers.position.document.close(); } else if (document.all) { position.innerHTML = myclock; } setTimeout("Time()", 1000); // 每1000毫秒...

    js基础教程

    - **`document.write()`**:最常用的输出内容的方法。 - 示例: ```javascript document.write("我是菜鸟我怕谁!"); ``` #### 五、兼容性考虑 - 对于不支持JavaScript的浏览器,可以通过以下方式隐藏...

    Learning JavaScript

    - **生成文本**:`document.write` 方法常用于向网页输出文本,如 `document.write("Hello World!")`。 - **生成标签**:同样通过 `document.write`,可以生成 HTML 标签,如 `document.write("&lt;h1&gt;Hello World!...

    JavaScript的100个经典实例

    * 生成普通文本和标签:可以使用 document.write() 方法生成普通文本和标签,例如 `&lt;html&gt;&lt;body&gt;&lt;script type="text/javascript"&gt;document.write("&lt;h1&gt;Hello World!&lt;/h1&gt;")&lt;/script&gt;&lt;/body&gt;&lt;/html&gt;` * 在 head 部分...

    JavaScript快速入门与技巧.doc

    document.write("Hello"); --&gt; ``` 对于不支持JavaScript的浏览器,可以使用`&lt;noscript&gt;`标签来显示替代内容: ```html Hello to the non-JavaScript browser. ``` 如果你希望将JavaScript代码放在外部文件中...

    Javascript在页面加载时的执行顺序.pdf

    这可能导致在某些情况下,如IE,`document.write()`写入的外部脚本在执行之前没有完全加载,从而引发错误。 以给定的示例代码为例: - 当使用`document.write()`加载外部脚本(如`test.js`)和内联脚本时,不同的...

    Js中Math方法的使用

    在JavaScript中,`Math`对象提供了一系列用于执行常见的数学运算的方法。这些方法并不需要创建`Math`对象实例即可使用,直接通过`Math`调用即可。本文主要介绍三个常用的方法:`Math.ceil()`、`Math.round()`以及`...

    JavaScript基础知识整理.pdf

    6. **输出到浏览器**:`document.write()`函数用于将内容输出到浏览器窗口,如: ```javascript document.write("&lt;strong&gt;Hello&lt;/strong&gt;"); ``` 7. **定义变量**:在JavaScript中,使用`var`关键字声明变量,...

    HTML网页学习笔记

    document.write(month + "月有" + (isLeapYear ? 29 : 28) + "天"); break; default: document.write("请输入正确的月份"); break; } ``` 这种方法在处理2月天数时,进一步简化了代码,通过一个布尔表达式直接...

    JavaScript教程:适合新手的js代码使用方法和技巧大全

    `document.write()` 方法是最简单的向页面输出内容的方式之一: ```javascript document.write("&lt;strong&gt;Hello&lt;/strong&gt;"); ``` 这将在页面上输出 `&lt;strong&gt;Hello&lt;/strong&gt;`。然而,`document.write()` 在开发过程...

    javaScript小技巧。

    使用`document.write()`方法可以在网页中输出文本。例如: ```javascript document.write("&lt;strong&gt;Hello&lt;/strong&gt;"); ``` 这里使用了HTML标签`&lt;strong&gt;`来加粗显示文本。 ### 4. 变量声明与赋值 在JavaScript中,...

    javascript-document对象详解(下).zip

    `document`对象还包含事件处理,如`document.addEventListener`用于注册事件监听器,以及`document.execCommand`用于执行某些富文本编辑操作。可能还会涉及`document.readyState`,它表示文档加载状态,以及`...

Global site tag (gtag.js) - Google Analytics