Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确循环_Javascript_Loops_Input_Output - Fatal编程技术网

Javascript 如何正确循环

Javascript 如何正确循环,javascript,loops,input,output,Javascript,Loops,Input,Output,下面是我需要做的全部工作 首先确认用户是否要添加课程,如果他们单击“确定”,则会提示他们输入课程,如果他们单击“取消”,则会完成程序 当用户回答该课程时,他们需要给出该特定课程的分数 完成这两个问题后,需要返回询问他们是否想再次添加课程 这就是我目前所拥有的 while(true){ var entering=confirm('是否要输入课程?'); 如果(输入=真){ 打破 } } var codeInput=''; var gradeInput=''; while(true){ codeI

下面是我需要做的全部工作

  • 首先确认用户是否要添加课程,如果他们单击“确定”,则会提示他们输入课程,如果他们单击“取消”,则会完成程序

  • 当用户回答该课程时,他们需要给出该特定课程的分数

  • 完成这两个问题后,需要返回询问他们是否想再次添加课程

  • 这就是我目前所拥有的

    while(true){
    var entering=confirm('是否要输入课程?');
    如果(输入=真){
    打破
    }
    }
    var codeInput='';
    var gradeInput='';
    while(true){
    codeInput=提示(“输入课程代码”);
    if(codeInput.length==7){
    打破
    }
    警报(“无效代码”);
    }
    gradeInput=提示符('输入'+codeInput+''的等级);
    书面文件(“”);
    书面文件(“”);
    书面文件(“课程代码”);
    书面文件(“等级”);
    书面文件(“”);
    书面文件(“”)+
    代码输入+
    '');
    书面文件(“”)+
    分级输入+
    '');
    书面文件(“”)根据此处

    如果用户单击“取消”按钮,此函数将返回null

    所以,您只需检查值是否为null,就可以知道用户是否单击了“取消”

    if (codeInput == null) break
    

    将代码封装在函数中,以便在每次输入grad再次询问时调用它

    我建议创建表和标题,然后在用户回答提示时追加行:

    var行数=0;
    var table=document.createElement('table');
    table.border='1';
    问();
    函数ask(){
    var codeInput='';
    var gradeInput='';
    var entering=confirm('是否要输入课程?');
    如果(!输入){
    返回;
    }否则{
    while(true){
    codeInput=提示(“输入课程代码”);
    if(codeInput.length==7){
    打破
    }
    警报(“无效代码”);
    }
    }
    gradeInput=提示符('输入'+codeInput+''的等级);
    if(行数=0){
    var行=document.createElement('tr');
    var th_1=document.createElement('th');
    var th_2=document.createElement('th');
    var txt_1=document.createTextNode(“课程代码”);
    var txt_2=document.createTextNode(“等级”);
    th_1.appendChild(txt_1);
    th_2.appendChild(txt_2);
    第1行。附加子项(第1行);
    第2行(第2行);
    表2.追加子项(行);
    行数++;
    }
    console.log(行数);
    表=插入行(代码输入、等级输入);
    document.body.appendChild(表);
    行数++;
    问();
    }
    函数insertRow(codeInput、gradeInput){
    var行=document.createElement('tr');
    var td_1=document.createElement('td');
    var td_2=document.createElement('td');
    var txt_1=document.createTextNode(codeInput);
    var txt_2=document.createTextNode(gradeInput);
    td_1.appendChild(txt_1);
    td_2.appendChild(txt_2);
    第1行:附加子行(td_1);
    第2行(td_2);
    表2.追加子项(行);
    返回表;
    
    }
    你可以在这里使用递归,而不是在while循环中使用它们。我还没有学会递归,所以我需要使用while循环或任何类型的循环。非常感谢你的帮助,我非常感谢,但我忘了在我的问题中提到的一件事是,它必须在所有javascript中完成,没有html。出于某种原因,它在这里运行,但当我把它放在我的文本编辑器中并在firefox中打开它时,它会启动良好,但当我进入课程的分数时,而不是问我是否要输入另一个不会弹出的分数,我什么都做不了桌子也没有出现。我看了看firefox的控制台,它告诉我这个“document.body为null”,这是“document.body.appendChild(table);”行的意思,所以不确定这是什么意思。我想我已经解决了这个问题,我在第一个ask()之前使用了“window.onload=function()”,它似乎可以工作。非常感谢你,你帮了我大忙!干得好,很高兴我能帮忙。快乐编码。