js114s定时器接线图 (js计时器代码及效果图)

因思维新建站官网:www.inspinovation.cn

文|鲁掌柜

javascript计时器实现,js计时器动态时间不准

学过javascript的童鞋一定都知道js里有这么一个方法,setTimeout();用于在指定时间之后执行某个特定的方法,单位是毫秒。

setTimeout的表达式包含两个参数,如下

setTimeout(code, millisec);

1、setTimeout如何工作的?

javascript计时器实现,js计时器动态时间不准

定义一个方法,使用setTimeout规定500ms后执行方法,运行该代码的结果是

javascript计时器实现,js计时器动态时间不准

1004,这又是为什么呢?

这就要从js的运行来说了,在同一时间,浏览器只能运行一个js代码,当其中一个方法占据了浏览器的运行空间时,就会导致其它的js临时失效,这里实际上就是while方法一直在运行,而while方法跳出的条件是现在的时间超过初始时间1s才可以,也就导致了1s内setTimeout的方法实际上是不能被执行的,而后面的几毫秒,则是由于机器运行代码也是需要时间的,这跟机器的配置有关系。

2、setTimeout最短执行时间

在使用setTimeout的过程中,设定延迟时间是必须的,不知道有没有小伙伴试过设置延迟时间为0时是什么情况,我们用代码实际试试就知道了。

javascript计时器实现,js计时器动态时间不准

得到的结果却并不是0

javascript计时器实现,js计时器动态时间不准

本应该是0的,结果却是2。

实际上,这是浏览器不允许setTimeout的执行延迟时间为0,如果使用该方法的时候设置了延迟时间为0,浏览器会自动增加这个延迟的时间,至于最低执行的时间,这就要看浏览器了。

一个小小的setTimeout里就有这么多学问,是不是觉得前端并没有那么容易呢?其实前端还有很多有意思的方法和功能,等待大家去学习和探索~

因思维新专注于高端网站订制开发,不仅仅为您建设网站,还为您做网络营销。