setTimeout("alert('ok');",1580870100);
setTimeout("alert('ok1');",15808701000);//这条会立即执行
setTimeout("alert('ok');",1580870100000);
setTimeout("alert('ok');",1580870100);
setTimeout("alert('ok1');",15808701000);//这条会立即执行
setTimeout("alert('ok');",1580870100000);
|
1
|
|
lovedebugMar 31, 2017
2
定时器本来就不会按顺序执行的。
定时器只是将任务派发给异步事件管理器,什么时候执行按什么顺序执行是不确定的 |
|
HerrDuMar 31, 2017
3
第二个时间太大崩了? 崩溃了之后直接执行?
|
|
4
超过 32bit 的最大数字了,会归一,源码就是这么写的。
// Timeout values > TIMEOUT_MAX are set to 1. var TIMEOUT_MAX = 2147483647; // 2^31-1 |
|
isaymeMar 31, 2017
6
|
|
isaymeApr 1, 2017
8
|
|
isaymeApr 2, 2017
11
@xuzicn Node.js 里是大于 2147483647 就强行改为 1. Chrome/Firefox 还没找到...
见: https://github.com/nodejs/node/blob/master/lib/timers.js#L390 |