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 相关文章推荐
漂亮的widgets,支持换肤和后期开发新皮肤
Apr 23 Javascript
Track Image Loading效果代码分析
Aug 13 Javascript
Javascript UrlDecode函数代码
Jan 09 Javascript
分享几个超级震憾的图片特效
Jan 08 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
Aug 07 Javascript
初步了解javascript面向对象
Nov 09 Javascript
微信小程序 wxapp内容组件 progress详细介绍
Oct 31 Javascript
详解js前端代码异常监控
Jan 11 Javascript
jQuery中extend函数简单用法示例
Oct 11 jQuery
Vue-router 切换组件页面时进入进出动画方法
Sep 01 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
php连接函数implode与分割explode的深入解析
2013/06/26 PHP
请离开include_once和require_once
2013/07/18 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
PHP 正则表达式小结
2015/02/12 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
JavaScript面向对象编程
2008/03/02 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
python selenium firefox使用详解
2019/02/26 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Groupon比利时官方网站:特卖和网上购物高达-70%
2019/08/09 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
自荐书4要点
2014/01/25 职场文书
项目经理聘任书
2014/03/29 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
2014年标准化工作总结
2014/12/17 职场文书
防卫过当辩护词
2015/05/21 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
Golang日志包的使用
2022/04/20 Golang
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android