js srtInterval 调用函数中document.write的问题

今天在用setInterval的时候  发现一个小问题   是当setInterval 调用的函数中执行了document.write()的时候 

 这个函数只能被调用一次  但是chrome是没问题  只有ie会出现这个情况

	var i = 0;
	function aa(){
		i++;
		document.write(i);
		
		
	}
	setInterval("aa()", 42);
但是调用的函数中如果没有document.write就不会出现这个问题
	var i = 0;
	function aa(){
		i++;
		
		alert(i);
		
	}
	setInterval("aa()", 42);

也就是说这个问题的根本是在document.write这里 而不是函数setInterval的问题

后来经过查找发现确实是document.write的问题 

因为document.write()会产生一个新的文档,并在新的文档中写入内容.而新的文档中没有setInterval()脚本了。

<body>
	document.write()会产生一个新的文档,并在新的文档中写入内容.而新的文档中没有setInterval()脚本了。
</body>
<script>
	var i = 0;
	function aa(){
		i++;
		document.write(i);
		
		
	}
	setInterval("aa()", 42);
</script>

但是在chrome浏览器中执行是正常的  并且chrome浏览器中也产生了一个新的文档  我想应该是chrome浏览器产生新的文档时将原文档的一些脚本也会加载进来吧

这里没有做研究  忘有知道的能解答一些  


转载于:https://www.cnblogs.com/andyliu007/archive/2012/05/23/2795424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值