JavaScript计时器延时执行

时间:2024-04-11 21:01:33

在js(Javascript)中有一个很关键的函数代码叫做计时器,
定时器有两种: 1.setInterval() ,2.setTimeout()。
setInterval():按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
setTimeout():在指定的毫秒数后调用函数或计算表达式。
计时器的用途很广,将一句代码延时执行也更是小菜一碟。
大家都知道,代码的运行方式跟书写的方式是一样的,都是从左到右,从上到下。如果我们把延时执行引进代码里会怎么样呢?
那么请看下面这段代码:
JavaScript计时器延时执行执行这段代码之后点击按钮所出现的结果肯定是按顺序显示输出的值,和预料的一样。这时候,我们运用计时器之后又是怎样一个结果呢?如下:JavaScript计时器延时执行这样子输出的值的顺序将会打乱。按照正常的思路想,应该会执行完第一句代码后延时一秒(1000ms)再执行第二句代码,最后执行出第三句代码,顺序依旧不变。但实际上却是先执行完第一句代码和第三局代码同时延时一秒(1000ms)执行第二局代码,根据先后顺序将第二句输出到最后面。
所以我们得出结论:把计时器引入代码后执行代码到"指定位置"的时候会进行计时执行当前语句,同时执行后面的语句,当计时完成后再执行"指定位置"的语句同时执行当前语句。
猜想:按照这个思路,将延时时间缩短到1ms,当后面的代码量足够多时,可能会将“指定位置”的值插入到后面值的中间(不过代码运行几乎就是瞬间,只是加载速度会慢,暂时还无法测试)。