昨晚碰到的一个bug
2014-12-17 15:20
176 查看
今晚我碰到一个bug,在刷新页面的时候浏览器所占用的内存在不断地升高,chrome进程的CPU的占用率也在不断维持在50左右,不知道是什么原因
找了好久,注释了大部分代码一部分慢慢地排除,终于发现是javascript出现的错误,仔细看来看去都不知道是什么原因,写了一个基本的js代码来不断地循环,最后终于发现由于调用所用的函数的问题
setTimeout("showTime()", 1000);
setInterval("showTime()",1000);
以上这两个函数都是每隔1秒调用一次,但是下面的这个就会不断地积攒消耗内存,而上面的则占用的内存资源是不变的。
setTimeout()这个函数只是执行了一次code,而setInterval()则会出现不停地调用函数,直到clearInterval()或窗口被关闭才停止。这就造成了消耗大量的内存资源。
因为我不懂js,所以理解不是很深
找了好久,注释了大部分代码一部分慢慢地排除,终于发现是javascript出现的错误,仔细看来看去都不知道是什么原因,写了一个基本的js代码来不断地循环,最后终于发现由于调用所用的函数的问题
setTimeout("showTime()", 1000);
setInterval("showTime()",1000);
以上这两个函数都是每隔1秒调用一次,但是下面的这个就会不断地积攒消耗内存,而上面的则占用的内存资源是不变的。
setTimeout()这个函数只是执行了一次code,而setInterval()则会出现不停地调用函数,直到clearInterval()或窗口被关闭才停止。这就造成了消耗大量的内存资源。
因为我不懂js,所以理解不是很深
<script language="javascript"> function showTime(){ var date=new Date(); var hours=date.getHours(); var minutes=date.getMinutes(); var seconds=date.getSeconds(); if(hours.toString().length == 1){ hours='0'+hours; } if(minutes.toString().length == 1){ minutes='0'+minutes; } if(seconds.toString().length == 1){ seconds='0'+seconds; } var formatTime=hours+":"+minutes+":"+seconds; setTimeout("showTime()", 1000); /* setInterval("showTime()",1000);*/ document.getElementById("time").innerHTML=formatTime; } </script>
相关文章推荐
- Linux 2.4.18的内核在使用S3C2410板的USB设备时碰到的一个Bug的解决办法
- 使用Qstring时候碰到的一个bug
- 想起来很久以前碰到的一个ATL BUG
- windows碰到了一个触点..........无可用源这种类似的bug
- 一个新手接触手游项目碰到的bug及解决过程汇总2
- 碰到一个mysql date_format函数的问题,是用法不当还是bug?
- 一直以来我(每个从事linux开发的人)深受“bug”的困扰,好像“bug”不足以描述这种被问题困扰的无奈。因为当在驱动或BSP的开发过程中,所碰到的问题比解决一个bug难得多。 Li
- 偶然间碰到了一个vc的一个bug,太有意思了
- 碰到一个微软的bug:CWinAppEx::GetString
- 解决 visualmark.vim 碰到的一个BUG(E197)
- 解决 visualmark.vim 碰到的一个BUG
- 记录使用MAT(Memory Analyzer Tool)时碰到的一个Bug
- 开发过程碰到的一个bug
- [转]解决 visualmark.vim 碰到的一个BUG
- 关于培训中碰到的一个Bug
- 一个新手接触手游项目碰到的bug及解决过程汇总
- Windows 2003里的一个小bug?
- 一个很好的Java查BUG工具
- Windows Notepad写字板的一个Bug
- .Text 的又一个 Bug