关于前端:JavaScript的定时器

2次阅读

共计 1154 个字符,预计需要花费 3 分钟才能阅读完成。

定时器
●在 js 外面,有两种定时器,倒计时定时器 和 距离定时器
○倒计时定时器也叫一次性定时器或者叫延时定时器
○距离定时器也叫间歇定时器或者叫反复性定时器
倒计时定时器
●倒计时多少工夫当前执行函数
●语法:setTimeout(要执行的函数,多长时间当前执行)
●会在你设定的工夫当前,执行函数


var timerId = setTimeout(function () {console.log('我执行了')// 1 秒后执行我执行了 只执行一次
}, 1000)
console.log(timerId) // 1 这个 1 阐明页面上只有一个定时器

●工夫是依照毫秒进行计算的,1000 毫秒就是 1 秒钟
●所以会在页面关上 1 秒钟当前执行函数
●只执行一次,就不在执行了
●返回值是,以后这个定时器是页面中的第几个定时器
距离定时器
●每距离多少工夫就执行一次函数
●语法:setInterval(要执行的函数,距离多少工夫)

var timerId = setInterval(function() {console.log('我执行了')// 距离 1 秒执行一次 我执行了
}, 1000)
console.log(timerId);//1  这个 1 阐明页面上只有一个定时器

●工夫和方才一样,是依照毫秒进行计算的
●每距离 1 秒钟执行一次函数
●只有不敞开,会始终执行
●返回值是,以后这个定时器是页面中的第几个定时器
定时器的返回值
●设置定时器的时候,他的返回值是局部 setTimeout 和 setInterval 的
●只有有一个定时器,那么就是一个数字

var timerId = setTimeout(function () {console.log('倒计时定时器')
}, 1000)

var timerId2 = setInterval(function () {console.log('距离定时器')
}, 1000)

console.log(timerId) // 1
console.log(timerId2) // 2

js 的异步代码执行机制
同步
●代码从上到下顺次执行, 上一行没有执行结束, 下一行不会开始
异步
●当 js 遇到异步代码的时候, 会先拿进去, 放在异步队列内期待, 临时不执行
●因为 js 是一个单线程的代码, 同时只能做一个事件
同步和异步的执行工夫
●同步代码优先执行,执行完了同步代码当前在去执行异步代码。
●异步代码在宿主环境中执行 执行结束当前寄存到工作队列中
●同步代码执行结束当前工夫循环机制 Event loop 回去工作队列中调用异步代码
●把异步工作增加到执行栈中进行执行

console.log('start')  // start  第一打印出來的

setTimeout(function() {console.log('timeout') //timeout  最初打印出來的
}, 0)

console.log('end')//end  第二打印出來的
正文完
 0