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 获取当前日期时间及其它操作实现代码
Mar 04 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
JS使用插件cryptojs进行加密解密数据实例
May 11 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
原生JS实现获取及修改CSS样式的方法
Sep 04 Javascript
Vue Echarts实现可视化世界地图代码实例
May 07 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 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中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
2015/10/26 PHP
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
python计算文本文件行数的方法
2015/07/06 Python
python 读取文件并替换字段的实例
2018/07/12 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
高中生学习的自我评价
2013/12/14 职场文书
英语演讲稿范文
2014/01/03 职场文书
文化宣传方案
2014/03/13 职场文书
四风查摆剖析材料
2014/10/10 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
Python如何使用循环结构和分支结构
2022/04/13 Python