while (prompt() !== "quit") {
document.write("test ");
}
我期待這個JavaScript每當我寫的東西,這不是quit
時間修改頁面的對話框後面。
然而它不這樣做,直到我輸入quit
。 (然後我看到一堆test
s。) 我完全錯過了什麼?
while (prompt() !== "quit") {
document.write("test ");
}
我期待這個JavaScript每當我寫的東西,這不是quit
時間修改頁面的對話框後面。
然而它不這樣做,直到我輸入quit
。 (然後我看到一堆test
s。) 我完全錯過了什麼?
刷新您的警報框背後的視圖似乎與瀏覽器相關。
有些會在兩個警報框(作爲我在Ubuntu上的Firefox)之間更新它,但是您可能會在生成新框架視圖之前等待警報框關閉。
JavaScript while循環將在運行前檢查條件(prompt() !== "quit")
document.write("test ");
這就是您沒有看到文檔被修改的原因。 - 這一切塊在頁面上的其他人關閉它之前
while (prompt() !== "quit") {
document.write("test "); //waiting for prompt()
}
,直到鍵入的東西到提示,點擊進入,不會執行循環體。而且,由於您在條件語句中調用它,因此必須在代碼確定是否進入循環之前對其進行評估。無法預測您是否輸入"quit"
。這就是爲什麼它首先等待你的輸入。
來源:https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt
對話框是模態窗口;它們阻止用戶訪問程序界面的其餘部分,直到關閉對話框。出於這個原因,你不應該過度使用任何創建對話框(或模態窗口)的函數。
「修改文檔」是什麼意思?它只是打印'test',直到你輸入'quit'。 –
這似乎與瀏覽器相關。在FireFox/Ubuntu上,你有在測試框後面顯示的「測試」。 – Blag
@Blag在Chrome/Mac和Firefox/Mac上。請回答我的問題,以便我可以接受您的答案。 – Yassine