簡體   English   中英

陷入一個不那么無限的循環?

[英]Stuck in a not so infinite loop?

我對JavaScript很陌生,所以請不要因為“無知”的問題而攻擊我。

在我目前的代碼中,我陷入了似乎是無限循環(但並非完全無限)的狀態,最終在經過我的所有提示后5次結束。

var authors = [];
                for(var authorName = 0; authorName < books.length; authorName++)
            {
                authors[0]=parseFloat(prompt("Who wrote War and Peace?"));
                authors[1]=parseFloat(prompt("Who wrote Huckleberry Finn?"));
                authors[2]=parseFloat(prompt("Who wrote The Return of the Native?"));
                authors[3]=parseFloat(prompt("Who wrote A Christmas Carol?"));
                authors[4]=parseFloat(prompt("Who wrote Exodus?"));

        }

我不確定如果我只是沒有正確設置數組或for循環或我需要做什么來讓它通過並填充數組。

請記住,我是JavaScript的新手,所以最基本,初學者,簡單的答案是最好的。 我現在正試圖在基礎知識上站穩腳跟。 (:

我想你正在尋找這個:

var bookNames = [
    "War and Peace?",
    "Huckleberry Finn?",
    "The Return of the Native?",
    "A Christmas Carol?",
    "Exodus?"
];

for(var authorName = 0; authorName < books.length; authorName++)
{
   authors[authorName]=parseFloat(prompt("Who wrote " + bookNames[authorName] + "?"));
}

這只會觸發5次,是您嘗試做的更好的方法。 另外,我會將authorName的名稱更改為更好地描述它的內容。

for塊中的每行代碼都會按指定的次數運行,在本例中為books.length次。 每次循環運行時,循環計數器(在本例中為authorName )可用作具有當前值的變量,在這種情況下,它將在5次迭代中取值0到4。

for(var authorName = 0; authorName < books.length; authorName++)
{
  authors[authorName] = prompt("Who wrote " + books[authorName] + "?");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM