javascript document.write方法的问题??

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:39:04
请看两段代码
1.
<form name="form1" method="post" action="">
<input type="button" name="button" value="按钮" onClick="document.write('asdf')">
</form>

2.
<script language="javascript">
document.write("asdf");
</script>

第1段代码执行后,整个页面只剩下"asdf"字符串,其它元素都没有了,查看源文件之后,原来的代码全都没有了,
第2段代码只是添加了"asdf"字符串,页面中的其它元素都存在。
同样代码放在不同的位置,效果怎么不一样?

第一个代码,是由事件触发所调用的document.write方法,这条语句执行时,本身就是相当于在页面上重新输出文字,而不管之前这个页面是否有其他元素,你可以把它看作是在原来页面上新生成一个页面。

第二段代码,是由于整个html内容被顺序读入,document.write在这里作为整体内容的一部分来执行,因此之前的内容也还都存在。