定时器
一、延时定时器
- 延时定时器:当设定的时间到达以后,执行一次回调函数。
- 语法: setTimeout(回调函数,延迟时间,参数1,参数2…)
延迟时间的单位是毫秒
参数1,参数2…是向回调函数传参的实参
二、间隔定时器
- 间隔定时器:每次到间隔时间时执行一次回调函数
- 语法:setInterval(回调函数,延迟时间,参数1,参数2…)
延迟时间的单位是毫秒
参数1,参数2…是向回调函数传参的实参
三、定时器的返回值
- 两个定时器的返回值:返回值是在整个文档中的第几个定时器,是一个数值类型,也就是这个定时器的标识
- 返回值作用:可以用来关闭定时器
四、关闭定时器
- clearTimeout(定时器的返回值)
- clearInterval(定时器的返回值)
特点:任意一种方法都能关闭两种定时器。
五、代码的执行机制
- 同步执行:按照代码的执行顺序,从上到下,从左到右执行,当上一句代码没有执行完毕,不会执行下一句代码
- 异步执行:当js代码执行到异步代码时,会先把异步执行的代码放到异步队列中先不执行,继续执行后续的同步代码,当同步代码都执行完毕后再执行所有的异步代码。
- 定时器就是异步执行的,同步创建定时器,异步执行定时器的回调函数
console.log(new Date());
setTimeout(function(){
console.log("延时定时器时间:"+new Date())
},2000);
var ids=setInterval(function(){
console.log("间隔定时器时间:"+new Date())
clearInterval(ids);
},2000);
console.log(new Date());
- 设置异步执行 async
最后加载代码 defer
<script src="./a.js" async></script>
<script src="./b.js" async defer></script>
- 常见的异步代码:
==定时器 —>定时器的回调函数
==事件执行函数 —>事件的执行函数
==ajax
==promise.then