关于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出来,则表示已经超过它的上限,未达到预期延时的效果。

以上只是个人的想法,没有参考第三方的资料,不知道哪位有相对比较权威点的资料可以透露出来…

posted @ 2011-04-01 15:35  meteoric_cry  阅读(2976)  评论(1编辑  收藏  举报