setTimeout 不断吐食CPU的问题分析


Posted in Javascript onApril 01, 2009
<script language="javascript"> 
function PollConn(){ 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>

上面的方法一般是比较通用的方法。不停的每隔5秒钟调用一下自己。在一般的运用中,用户访问含有这样代码的页是没感觉出它有什么问题。但是如果用户在这样的页里需要停留的时间很长,就会用问题。因为setTimeout会不停的“吐食”CPU,慢慢的CPU最终会被这样的代码吃光,造成IE死掉,或停止执行。
解决的办法,在下次调用之前先用clearTimeout清除一下。
<script language="javascript"> 
function PollConn(){ 
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>
Javascript 相关文章推荐
键盘KeyCode值列表汇总
Nov 26 Javascript
jquery图片切换插件
Mar 16 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 Javascript
详解angularJS自定义指令间的相互交互
Jul 05 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
详解element-ui中form验证杂记
Mar 04 Javascript
解决vue打包后刷新页面报错:Unexpected token
Aug 27 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
js Flash插入函数免激活代码
Mar 31 #Javascript
响应鼠标变换表格背景或者颜色的代码
Mar 30 #Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 #Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 #Javascript
一个tab标签切换效果代码
Mar 27 #Javascript
js onpropertychange输入框 事件获取属性
Mar 26 #Javascript
input 高级限制级用法
Mar 26 #Javascript
You might like
PHP通用检测函数集合
2006/11/25 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
IE/FireFox具备兼容性的拖动代码
2007/08/13 Javascript
JavaScript window.location对象
2014/11/14 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
最全的Javascript编码规范(推荐)
2016/06/22 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
小程序登录态管理的方法示例
2018/11/13 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
八年级英语教学反思
2014/01/09 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
服务整改报告
2014/11/06 职场文书
考研导师推荐信范文
2015/03/27 职场文书
感恩的心主题班会
2015/08/12 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
Python中super().__init__()测试以及理解
2021/12/06 Python