2017-05-11 54 views
-3

我有一個任務,我的JavaScript課,讓我瘋了。這是任務:我需要做兩個循環做一個/一個和一個用於JavaScript

創建一個頁面,請求一個俱樂部的成員的名字。至此 結束時,頁面會提示您輸入每個名稱,然後顯示一個對話框 詢問您是否要繼續。一旦用戶完成輸入所有 名稱的頁面顯示如下數據:

  • 表中他們已經插入的順序合夥人的名字。

這是我的代碼:

var club = new Array(); 
var choice=0; 
do { 
    socio[i] = prompt ("Introduce the name of the person", ""); 
    choice = prompt("If you don't want to keep going introduce number 1, and if you want to keep going introduce another number"); 
} while(choice != 1); 

for (var i = 0; i < club.length; i++){ 
    document.write("<table>"); 
    document.write("<tr>"); 
    document.write("<td>" + club[i] + "</td>"); 
    document.write("</tr>"); 
    document.write("</table>"); 
} 

循環不讀for。我試圖把do聲明放進去,但沒有奏效。

+2

'「循環沒有讀取」' - 這是什麼*意味着*? – David

+0

當用戶插入號碼1不繼續表格不打印出來。 –

+0

@CapitanDuke我看到你接受了我的答案,但也請參閱我的編輯版本。你的代碼有一些簡單的問題,你可以通過一些調試來解決問題,所以也許可以向你的教師尋求幫助。沒有人希望你馬上寫出完美的代碼,所以你需要知道如何查看代碼中出現的錯誤,以便取得進展。 –

回答

0

代碼有一些問題:

  • club是一個空數組,所以for循環無關,執行
  • 你指的是不存在的變量socio與不存在的指數i。也許你打算做club.push(prompt(...))或類似的事情?
  • 使用prompt並要求輸入結束是非常笨重的。 confirm可能是更好的選擇。

考慮到這一點,下面是代碼的清理版本。請注意,這並不意味着這是做這件事的最好方式(並且絕對不是這樣做的方式),但它只是將您的代碼清理一下以捕捉您的意圖。

https://plnkr.co/edit/JkBiCkZrPY7N3YC2uC6a?p=preview

var club = new Array(); 
var proceed = true; 
while(proceed) { 
    club.push(prompt ("Enter the name of the person", "")); 
    proceed = confirm("Would you like to continue?"); 
} 

for (var i = 0; i < club.length; i++){ 
    document.write("<table>"); 
    document.write("<tr>"); 
    document.write("<td>" + club[i] + "</td>"); 
    document.write("</tr>"); 
    document.write("</table>"); 
} 

因爲這是家庭作業,進一步閱讀,你可以想想爲什麼document.write可能不適合在這個個案,例如使用,如果我進入<img src="https://upload.wikimedia.org/wikipedia/commons/f/f9/Phoenicopterus_ruber_in_S%C3%A3o_Paulo_Zoo.jpg">的名稱,而不是像TomKate,觀察會發生什麼:)

一般來說,您應該學會如何調試您的程序。我不知道你的班級使用了哪些工具,但是如果你在瀏覽器中運行代碼,可以在大多數瀏覽器中按F12來打開開發者控制檯。例如: enter image description here

您不應期望您應該始終編寫語法正確的代碼,因此您需要有一種方法來獲取您的代碼有錯誤的反饋。也許問你的同學或講師如何調試你的代碼。