我很困惑,爲什麼下面的HTML不工作。 我期望它會繼續發送警報,但它會在一次後停止。 此外,「左fn」警報從不發生! 任何人都可以解釋這個給我嗎? 我在Ubuntu上使用Firefox中的html5。html5和javascript:是setTimeout打破這個?
<!DOCTYPE html>
<script>
function alertme() {
alert ("in fn");
}
while (true) {
window.setTimeout(alertme(), 3000);
alert("left fn");
}
</script>
你想做什麼? alert(「in fn」)總是顯示的唯一原因是alert(「left fn」)'將控制權返回給循環內部的瀏覽器。如果你在循環中沒有提醒,循環就會開始超時並永不結束,所以超時事件永遠不會被處理。瀏覽器會凍結。 – Guffa 2013-02-19 23:53:47
@Guffa謝謝,好點。我也在setTimeout停止執行的印象。 – fletchervk 2013-02-20 00:30:50
基於閱讀「關於」鏈接,我對這個網站的理解是,我應該投票給喬納森的「最佳」答案。 @ clph3r對不起,如果可以的話,我也會爲你投票的。 – fletchervk 2013-02-20 00:32:54