在測試過程中發現alert會中斷settimeout的計時功能,關閉對話框後,settimeout的時間會重頭開始計時,而不是從中斷處,感興趣的朋友可以了解下
經過測試發現alert會中斷settimeout的計時功能,關閉對話框後,settimeout的時間會重頭開始計時,而不是從中斷處。
比如:settimeout定時5分鐘後執行某方法,但是在等待3分鐘後,彈出了alert,關閉alert後,settimeout會重頭開始計時,再等5分鐘,而不是2分鐘。
並且只要是同一浏覽器窗口內,即使在不同frame中,alert也會中斷其他frame中的settimeout,
為什麼這麼設計,不明白,是因為javascript是單線程的嗎?
這是在ie浏覽器中的發現,其他對話框和彈出框我沒有測試過。
真希望html5快些普及,這樣需要多線程的功能也就能解決了。