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 相关文章推荐
JS去掉第一个字符和最后一个字符的实现代码
Feb 20 Javascript
js中this用法实例详解
May 05 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
基于jquery实现的树形菜单效果代码
Sep 06 Javascript
使用jquery插件qrcode生成二维码
Oct 22 Javascript
Bootstrap零基础入门教程(三)
Jul 18 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
node.js学习之base64编码解码
Oct 21 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
jQuery实现验证用户登录
Dec 10 jQuery
基于js实现判断浏览器类型代码实例
Jul 17 Javascript
js动态添加带圆圈序号列表的实例代码
Feb 18 Javascript
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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
举例讲解Node.js中的Writable对象
2015/07/29 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
python 如何区分return和yield
2020/09/22 Python
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
什么是规则表达式
2012/05/03 面试题
人事助理自荐信
2014/02/02 职场文书
客服部工作职责范本
2014/02/14 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
保护环境的标语
2014/06/09 职场文书
公司年底活动方案
2014/08/17 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
文艺晚会开场白
2015/05/29 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL