`

说说javascript write函数

阅读更多

以前我自己也犯过这么个错误,就是在document.write之后,发现脚本报错误。当然后来是知道了,最近看到有网友在群里提出类似的问题。我在这里就总结下document.write的用法和注意事项。

先看下面一个小网页:

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
< html >
    
< head >
        
< meta  http-equiv ="Content-Type"  content ="text/html; charset=iso-8859-1"   />
        
< title > Untitled Document </ title >
    
</ head >
    
< script  type ="text/javascript" >
        
function  InitPage()
        {
            
var  obj  =  document.getElementById( " DIV_top " );
            
// document.write(document.getElementById("DIV_top").style.width);
             // document.write(document.getElementById("DIV_top").style.height);
            document.write(obj.style.width);
            document.write(obj.style.height);
            
        }
    
</ script >
    
< body  onload ="InitPage();" >
        
< div  id ="DIV_top"  style ="width:400px; height:200px;" >  This is a test ! </ div >
    
</ body >
</ html >

这个网页执行是没有问题的。

下面请将函数当前注释去掉,最后两行加上注释,如:

var obj = document.getElementById("DIV_top");
            document.write(document.getElementById(
"DIV_top").style.width);
            document.write(document.getElementById(
"DIV_top").style.height);
            
//document.write(obj.style.width);
            //document.write(obj.style.height);

   执行过程发生什么情况了? 首先结果是只输出了 400px ,如果你的调试工具够先进就看到了,明确提示document.write(document.getElementById("DIV_top").style.height); 中,document.getElementById("DIV_top"). 为null

根据上面的小测试,我想你对document.write的细节已经清楚了。

 现在总结下:
document.write 产生一个文档输出流,会将先前的内容一次覆盖。 但是内存并没有释放对象,只是页面已经没有其句柄。 这个和js垃圾回收机制有关。

也许你会问,为什么第一个例子中的第二句 document.write没有将第一句的产生的内容冲掉呢?

这个。。。就好比你以流方式打开一个文件,第一次写的时候是覆盖,将文件内容都清掉。而第二次写的时候,并不需要重新打开了。

试试下面这个例子:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        
<title>Untitled Document</title>
    
</head>
    
<script type="text/javascript">
        
function InitPage()
        {
            
var obj = document.getElementById("DIV_top");
            
var temp = "add";
            
            
var str = "<input type=\"button\" onclick=\"document.write(\'可以不停的增加\');\" name=\'Test\' value=\'Test\'/>";
            document.write(obj.style.width);
            document.write(obj.style.height);
            document.write(str);
        }

    
</script>
    
<body onload="InitPage();">
        
<div id="DIV_top" style="width:400px; height:200px;"> This is a test !</div>
        
    
</body>
</html>


呵呵,比看枯燥的文字有意思吧。程序就是要多动手练习,实践。特别是自己有想法的时候,用代码去证明。

分享到:
评论

相关推荐

    javascript函数的解释

    1. `document.write("")`:这个函数用于在HTML文档加载时向文档流中写入内容,通常不推荐在现代Web开发中使用,因为这会覆盖已有的HTML。 2. 注释:在JavaScript中,单行注释使用`//`,多行注释使用`/* ... */`。 ...

    javascript 函数教程(由浅入深)

    - 文档写入:通过`document.write`调用函数,输出函数返回的文本。 6. **实例分析**: - 实例1展示了如何创建一个无参函数并在按钮点击事件中调用,避免了脚本在页面加载时立即执行。 - 实例2是一个有参函数,...

    JavaScript的系统函数学习

    根据给定文件的信息,我们可以总结出关于JavaScript中的几个重要系统函数的知识点,这些知识点主要集中在URI编码解码、数字解析以及数值判断上。 ### 1. URI 编码与解码 #### 1.1 `encodeURI()` - **功能**:`...

    JavaScript函数大全Word版

    ### JavaScript函数大全Word版知识点详解 #### 一、概述 《JavaScript函数大全Word版》是一份详尽的JavaScript基础知识及函数应用指南。该文档通过列举常见的JavaScript语法特性、内置对象和函数,帮助开发者快速...

    JavaScript常用函数列表

    ### JavaScript常用函数列表详解 #### 一、点击与关闭事件 - `click()`: 这个函数用于模拟点击事件,通常在DOM元素上绑定点击事件处理函数时使用。 - `closed()`: 检测浏览器窗口是否已关闭,返回`true`或`false`...

    javascript函数大全

    javascript函数大全 91.document.write()不换行的输出,document.writeln()换行输出 92.document.body.noWrap=true;防止链接文字折行. 93.变量名.charAt(第几位),取该变量的第几位的字符. 94."abc"....

    javascript常用函数大全

    根据给定的文件信息,以下是对标题“javascript常用函数大全”及描述中涉及的重要知识点的详细解析: ### 基础知识:创建脚本块 #### 示例代码: ```html &lt;script language="JavaScript"&gt; // JavaScript代码放这里...

    javascript 内置函数速查.txt

    - **`document.write()`**: 此函数用于在文档流中写入文本、HTML或JavaScript代码。在开发过程中常用作调试工具,但不推荐在生产环境中使用,因为它会覆盖整个页面内容。 - **DOM层次结构**: `document`对象是...

    js函数一览表 javaScript 自定义函数一览表

    ### JavaScript自定义函数一览表详解 #### 一、概述 JavaScript是一种广泛应用于网页开发中的脚本语言,它能够实现动态效果、用户交互等功能。本文档将详细介绍一系列与JavaScript相关的知识点,包括基本语法、...

    javascript常用函数.docx

    1. `document.write("")`: 这个函数用于向HTML文档流中写入内容。通常在页面加载期间使用,向浏览器输出动态生成的HTML。 2. 注释:在JavaScript中,单行注释以`//`开始,多行注释以`/* */`包裹。 3. HTML文档结构...

    100多个很有用的JavaScript函数以及基础写法汇总

    本文将详细介绍从给定文件中提炼出的一些JavaScript基础知识和常见函数。 1. `document.write("")` 是一个输出语句,常用于向HTML文档中动态插入内容。 2. 注释在JavaScript中可以使用 `//` 开始一行注释,或者 `/*...

    Javascript 函数

    ### JavaScript 函数详解 #### 一、函数的概念与重要性 在编程领域中,函数(Function)是一个不可或缺的概念。在JavaScript中,函数是一段可重用的代码块,用于执行特定的任务。通过定义函数,我们可以封装一系列...

    JavaScript函数

    5. **函数调用的多种方式**:函数不仅可以通过事件触发,还可以在脚本中直接调用,如`document.write(myFunction())`,这在需要在页面加载时执行某些计算或操作时非常有用。 学习JavaScript函数,还需了解函数的...

    javascript常用函数.pdf

    本资料主要涵盖了JavaScript的一些基本概念和常用函数,帮助开发者掌握JavaScript的基础知识。 1. **输出语句**:`document.write("")`常用于向HTML文档输出内容,但在现代前端开发中,更推荐使用DOM操作来动态更新...

    javascript函数大全集合

    - `document.write("")`:此函数用于将内容直接输出到当前文档流中。需要注意的是,在某些情况下(如文档已经加载完毕后),可能不会生效。 2. **注释**: - 在JavaScript中,可以使用单行注释(`//`)或多行...

    js函数大全 javascript

    在JavaScript中,函数是代码的可重用块,可以帮助我们实现特定的功能。以下是一些基本的JavaScript函数和概念的详细解释: 1. **`document.write()`**:这个函数用于在HTML文档的当前位置插入文本或HTML代码。例如...

    javascript函数

    JavaScript提供了许多内置函数,如`eval()`用于执行字符串中的JavaScript代码,`parseInt()`用于将字符串转换为整数,`sort()`用于数组排序,以及`document.write()`和`alert()`这样的浏览器特定函数。这些内置函数...

    vbscript和javascript互相调用方法

    例如,如果你想从VBScript调用一个名为`myFunc`的JavaScript函数,你可以这样做: ```vbscript Dim myObj Set myObj = Server.CreateObject("Scripting.Dictionary") myObj.Language = "JScript" myObj.Add "myFunc...

Global site tag (gtag.js) - Google Analytics