2017-05-11 59 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

您不应期望您应该始终编写语法正确的代码,因此您需要有一种方法来获取您的代码有错误的反馈。也许问你的同学或讲师如何调试你的代码。