我正在使用 setInterval 执行简单的 javascript 函数,它只打印日期和时间
console.log('before',new Date().toLocaleString(), new Date().getMilliseconds())
setInterval(() => {
console.log(new Date().toLocaleString(), new Date().getMilliseconds());
}, 1000);
代码的输出是
before 7/27/2023, 9:06:14 PM 364
7/27/2023, 9:06:15 PM 367
7/27/2023, 9:06:16 PM 370
7/27/2023, 9:06:17 PM 372
7/27/2023, 9:06:18 PM 376
7/27/2023, 9:06:19 PM 378
7/27/2023, 9:06:20 PM 382
我的问题是为什么它总是在每次执行代码时添加一些毫秒,好吧,我知道实际将函数添加到调用堆栈需要一些抖动毫秒,那么它不应该总是在之前的函数调用中添加抖动毫秒。
为什么输出不会是这样的?
before 7/27/2023, 9:06:14 PM 364
7/27/2023, 9:06:15 PM 367
7/27/2023, 9:06:16 PM 367
7/27/2023, 9:06:17 PM 367
7/27/2023, 9:06:18 PM 368
7/27/2023, 9:06:19 PM 367
7/27/2023, 9:06:20 PM 367