setInterval(function () {
var date=new Date();
console.log(date.getSeconds());
},1000)
为什么这个函数不是一秒一秒的输出,而是隔2秒输出一次?
setInterval(function () {
var date=new Date();
console.log(date.getSeconds());
},1000)
为什么这个函数不是一秒一秒的输出,而是隔2秒输出一次?
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
setInterval
和setTimeout
添加的执行,并不是说多少时间后一定会执行,而是在多少时间后将要运行的部分加入运行队列中,所以这个时间不是肯定准确的。如以下代码,输出
hehe
的时间就不止1秒:所以跳秒的原因是别的Js代码在运行,使
setInterval
要执行的延迟了。可以看下这篇文章 阮一峰的网络日志 >> JavaScript 运行机制详解:再谈Event Loop