码迷,mamicode.com
首页 > Web开发 > 详细

js定时器的一些小问题

时间:2016-10-24 02:06:17      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:cti   date()   实现   htm   document   innerhtml   一段   interval   状态   

 1 js中定时器分为两种:setInterval和setTimeout, 但是在代码的执行中,定时器的优先级最低,系统里其他不在执行的时候,它才开始。例子如下:
 2 
 3 <script>
 4 window.onload=function(){
 5     setInterval(function(){
 6         alert(1);    
 7     },10);
 8     for(var i=0;i<1000000;i++){
 9         for(var j=0;j<1000000;j++){
10             var a=10;
11              a*=5;    
12         }
13         
14     }
15     alert(a);
16 };
17 </script>
18 
19 定时器里面的执行时间为10毫秒,   for循环里面为100万毫秒。打开页面的时候一直处于刷新状态,而不是先弹出1, 刷新一段时间后,先弹出50;再弹出1;
20 
21 
22 第二个例子:
23 
24 <script>
25 window.onload=function (){
26     var oMin=document.getElementById(‘min‘);
27     var oSec=document.getElementById(‘sec‘);
28     var oMin2=document.getElementById(‘min2‘);
29     var oSec2=document.getElementById(‘sec2‘);
30     
31     var start=new Date();
32     var s2=0;
33     
34     setInterval(function (){
35         var now=new Date();
36         
37         var s=parseInt((now.getTime()-start.getTime())/1000);
38         
39         s2+=0.01;
40         
41         oMin.innerHTML=parseInt(s/60);
42         oSec.innerHTML=s%60;
43         
44         oMin2.innerHTML=parseInt(s2/60);
45         oSec2.innerHTML=parseInt(s2%60);
46     }, 10);
47     
48     document.getElementById(‘div1‘).innerHTML=new Date();
49 };
50 </script>
51 </head>
52 
53 <body>
54 <div id="div1"></div>
55 <span id="min">00</span>:<span id="sec">00</span><br>
56 <span id="min2">00</span>:<span id="sec2">00</span>
57 </body>
58 </html>
59 上下两个秒表经过一段时间后纯在了时间差     问题出现在s2+=0.01; 定时器会受系统其它函数的影响,因而影响其性能。导致存在误差-------也就是说以后遇到时间的时候,尽量用系统的时间来处理。比如:
60 
61 秒表:
62 
63 var start=new Date();
64 
65 setInterval(function(){
66 
67 var now=new Date();    
68 var s=parseInt((now.getTime()-start.getTime())/1000);
69 
70 },1000),
71 
72 也可以实现秒表效果。

  

js定时器的一些小问题

标签:cti   date()   实现   htm   document   innerhtml   一段   interval   状态   

原文地址:http://www.cnblogs.com/jasonwang2y60/p/5991494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!