扫码关注官方订阅号
下面是简单时间显示代码:
当前系统时间 显示时间的位置
显示时间的位置
如果把setTimeout设置成1000会比实际时间慢一秒,这是为什么呢?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
setTimeout(callback,time); 是指,callback回调执行结束并延迟time以后,在执行setTimeout();根据js单线程的特性,可能时间比time更久;这里,可能的原因,就是callback也要一定的执行时间吧,可以用chrome的Timeline查看一下;能力不足,看代码,感觉不存在多大问题;
setTimeout(callback,time)
callback
time
setTimeout()
很简单啊,setTimeout这个函数是指500(ms)即0.5秒时间过后在执行showTime函数。如果是1000的话,即1秒过后再执行showTime函数。 所有才会出现你说的这个问题(纯个人理解^~^)。
不管showTime是延迟1000还是500,获取时间和更新DOM都是同时执行的,所以应该不会有延迟(除非你时间计算出错了)。并且我这里测了下,也没有看到延迟。
另外,为甚不用setInterval
setInterval
你先拿到这个时间的数据,然后在后一秒显示,当然会慢一秒啊。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
setTimeout(callback,time); 是指,callback回调执行结束并延迟time以后,在执行setTimeout();根据js单线程的特性,可能时间比time更久;这里,可能的原因,就是callback也要一定的执行时间吧,可以用chrome的Timeline查看一下;能力不足,看代码,感觉不存在多大问题;很简单啊,setTimeout这个函数是指500(ms)即0.5秒时间过后在执行showTime函数。如果是1000的话,即1秒过后再执行showTime函数。 所有才会出现你说的这个问题(纯个人理解^~^)。
不管showTime是延迟1000还是500,获取时间和更新DOM都是同时执行的,所以应该不会有延迟(除非你时间计算出错了)。并且我这里测了下,也没有看到延迟。
另外,为甚不用
setInterval你先拿到这个时间的数据,然后在后一秒显示,当然会慢一秒啊。