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 相关文章推荐
JQuery中form验证出错信息的查看方法
Oct 08 Javascript
Javascript快速排序算法详解
Dec 03 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
Feb 23 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
每天一篇javascript学习小结(Date对象)
Nov 13 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
基于JavaScript实现表格滚动分页
Nov 22 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
Feb 15 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
Jul 12 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 开发工具
2006/12/06 PHP
php 文章调用类代码
2011/08/11 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
Python实现partial改变方法默认参数
2014/08/18 Python
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
详解python eval函数的妙用
2017/11/16 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
详解python中递归函数
2019/04/16 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
公务员培训心得体会
2013/12/28 职场文书
学生操行评语大全
2014/04/24 职场文书
三八节标语
2014/06/27 职场文书
2015年班干部工作总结
2015/04/29 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
Python快速优雅的批量修改Word文档样式
2021/05/20 Python