您的位置:首页 > 编程语言 > PHP开发

昨晚碰到的一个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,所以理解不是很深 
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php