js定时器的一些小问题
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定时器的一些小问题的更多相关文章
- js定时器的使用(实例讲解)
在javascritp中,有两个关于定时器的专用函数,分别为: 1.倒计定时器:timename=setTimeout("function();",delaytime);2.循环定 ...
- 原生JS实现的h5小游戏-植物大战僵尸
代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结 ...
- JS定时器做物体运动
JS定时器是函数 setInterval(函数体/函数名 , 时间) 清楚定时器 clearInterval(函数) 时间单位(毫秒) 1000毫秒 = 1秒 首先我们要知道用JS定时器能干什么? ...
- JS定时器使用,定时定点,固定时刻,循环执行
JS定时器使用,定时定点,固定时刻,循环执行 本文概述:本文主要介绍通过JS实现定时定点执行,在某一个固定时刻执行某个函数的方法.比如说在下一个整点执行,在每一个整点执行,每隔10分钟定时执行的方法. ...
- JS定时器不可靠的原因及解决方案
前言 在工作中应用定时器的场景非常多,但你会发现有时候定时器好像并没有按照我们的预期去执行,比如我们常遇到的setTimeout(()=>{},0)它有时候并不是按我们预期的立马就执行.想要知道 ...
- 移动Web与js定时器暂停或不准确计时的问题解决
PC 上的 Firefox.Chrome 和 Safari 等浏览器,都会自动把未激活页面中的 JavaScript 定时器(setTimeout.setInterval)间隔最小值改为 1 秒以上: ...
- 我在 impress.js 中学到的小套路
我在 impress.js 中学到的小套路 写在开篇 作为了一个自学 JavaScript 才一个月的新手,前几天“妄图”研究 jQuery-3.1.0 源码,结果自然是被虐得死去活来.机缘巧合之下, ...
- js定时器 特定时间执行某段程序的例子
定时器想必大家并不陌生吧,在本文为大家详细介绍下js中是如何实现定时器的,具体原理及代码如下. 例子: $(function(){ var handler = function(){ //www.jb ...
- 移动端无法复制:使用clipboard.js碰到的一个小问题
移动端无法复制:使用clipboard.js碰到的一个小问题 直接看下面的代码:在移动端访问,点击,能正常复制. <html> <head> <meta http-e ...
随机推荐
- 纯CSS仿windows系统loading效果
今天分享的css3案例模仿了window系统下的loading效果里面最关键的地方使用了css3 animation的delay属性以及贝塞尔曲线(cubic-bezier)的过渡效果,如下所示 sp ...
- CSS的一些小事
1.什么时候能将零散的图片整合成一张大图,达到减少请求数的作用? 答:整合进大图的图片是被设置no-repeat用的,如果是repeat-x.repeat-y就不可以. 2.E + F 选择紧贴在E元 ...
- oracle10g 统计信息查看、收集
1. 统计信息查看 1.1 单个表的全局统计信息.统计效果查看 2. 统计信息分析(收集) 2.1 分析工具选择 2.2 分析前做index重建 2.3 分析某数据表,可以在PL/SQL的comm ...
- ExtJs中xtype与组件类的对应表
from:http://blog.163.com/jx_dream/blog/static/117056627201223091021410/ 核心提示:我们在使用 ExtJs 创建组件时最容易理解的 ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q40-Q44)
Question 40You need to send a single value from a consumer Web Part to a provider Web Part.Which int ...
- IOS 杂笔-5(NSTimer极浅析)
1.timer都会对它的target进行retain,我们需要小心对待这个target的生命周期问题,尤其是重复性的timer. 2. timer不是一种实时的机制,会存在延迟,而且延迟的程度跟当前线 ...
- iOS开发过程中,触控板的使用技巧
1.在Storyboard鼠标右键可以直接拖线的,如果你用的是外接的第三方鼠标,没必要按着 control 键再用鼠标左键拖线 如果是触控板的话,双指按下去就可以直接拖线,带3Dtouch功能的触控板 ...
- Cocos2d入门--1--初涉相关属性或代码
Cocos2d vision: cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能 ...
- 集成ZBar时容易遇到的问题以及解决方法
1.添加入几个必备的框架: libiconv.tbd QuartzCore.framework CoreVideo.framework CoreMedia.framework AVFoundation ...
- Spring依赖注入三种方式详解
在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...