计时器、倒计时器
语法: 计时器(function(){}); 计时器:setInterval() 倒计时器: setTimeout() 清除:clearInterval();claerTimeout(); ==注意:== 一般来说,两个清除语法都可以清除计时器和倒计时器,但为了加强语义,项目中一般使用对应的清除语法来清除计时器和倒计时器; 返回值: 时间ID --->值取决于你当前的定时器是这个页面的第几个定时器, 返回值可以用于关闭定时器。 ==计时器可以反复执行,延时器只执行一次。==
异步
* 简单了解异步代码
*
* JS 的运行 是单线程的(执行代码从第一行开始,往下执行, 上一行不结束, 不会运行下一行代码)
*
*
* 但是万一上一行代码比较耗时(5S), 那么我下一行代码就需要等待5S
*
* 但是JS也分为 异步任务与同步任务
*
* JS 在运行的时候, 会按照从上到下的顺序执行代码, 但是会先把所有的同步任务先执行, 等所有的同步任务执行完毕, 在执行异步任务
面试题
console.log('start') // 同步任务 1
setTimeout(function () { // 异步任务 1
console.log('timeout_start') // y 同步任务 1
setTimeout(function () { // y 异步任务 1
console.log('QF666') // X 同步 任务 1
}, 0)
console.log('timeout_end') // y 同步任务 2
}, 0)
console.log('end')
程序首先先执行同步任务,故先输出: start end 再执行异步池中的异步任务,按照先进先执行的原则,输出: timeout_start timeout_end 最后输出: QF666