關於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出來,則表示已經超過它的上限,未達到預期延時的效果。

以上只是個人的想法,沒有參考第三方的資料,不知道哪位有相對比較權威點的資料可以透露出來…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章