关于setTimeout的最大延时上限
昨晚在微博上看到有人问这个问题,小试了一下,我得到的情况如下(代码运行环境是32位的windows sp3):
IE8:Math.pow(2, 32) – 1 => 4294967295
Chrome dev 11.0、FF4、Safari 5 则为:Math.pow(2, 31) – 1 => 2147483647
Opera 接近于无穷大,也就是:Infinity - 1 (未证实)
基于这个代码得出的:
1: <script type="text/javascript">
2: tmpTime = Math.pow(2, 31) - 1;
3:
4: alert(tmpTime);
5:
6: setTimeout(function() {
7: alert(1);
8: }, tmpTime);
9: </script>
如果在alert时间之后马上alert 1出来,则表示已经超过它的上限,未达到预期延时的效果。
以上只是个人的想法,没有参考第三方的资料,不知道哪位有相对比较权威点的资料可以透露出来…