Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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/0/drupal/3.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_If Statement - Fatal编程技术网

Javascript 为什么答案的顺序不符合要求?

Javascript 为什么答案的顺序不符合要求?,javascript,if-statement,Javascript,If Statement,我有五个问题需要用户回答。计算正确答案,然后在最后给用户评分 我希望每个问题的评分在每个问题之后立即出现,而不是在所有问题被问完之后。现在,它会问5个问题中的2个,然后向用户提供回复,但只有在所有问题都被问完之后。顺序是:问,问,答,答,但我需要它是问,答,问,答,但我不明白为什么它不这样做 // Counters var numberOfQuestions = 5; var correctAnswers = 0; // The five questions var raining = pro

我有五个问题需要用户回答。计算正确答案,然后在最后给用户评分

我希望每个问题的评分在每个问题之后立即出现,而不是在所有问题被问完之后。现在,它会问5个问题中的2个,然后向用户提供回复,但只有在所有问题都被问完之后。顺序是:问,问,答,答,但我需要它是问,答,问,答,但我不明白为什么它不这样做

// Counters
var numberOfQuestions = 5;
var correctAnswers = 0;

// The five questions
var raining = prompt("Is it raining today?");
var married = prompt("Am I married?");
    /* Remaining questions
    var day = prompt("What day is it?");
    var threes = prompt("What does 3 + 3 + 3 equal?");
    var number = prompt("What number am I thinking of?"); 
    */

// First question - Is it raining
if (raining.toUpperCase() === "NO") {
  correctAnswers += 1;
  alert("Correct. \nYou have " + correctAnswers + " correct answers out of " + numberOfQuestions);  
} else {
    alert("Don't you wish it was. \nYou have " + correctAnswers + " correct answers out of " + numberOfQuestions);
  }

// Second question - Am I married
if (married.toUpperCase() === "YES") {
  correctAnswers += 1;
  alert("Correct! I am married. \nYou now have " + correctAnswers + " correct answers out of " + numberOfQuestions);
} else {
  alert("Incorrect, I am married. \n You still have " + correctAnswers + " correct answers out of " + numberOfQuestions);
}
任何帮助都将不胜感激

恰到好处

var married = prompt("Am I married?");
在第二个if之前

将变量赋值给提示符会立即显示提示符,而不是在您开始使用该变量执行某些操作时显示提示符。

简单地说:

var married = prompt("Am I married?");
之后:

// Second question - Am I married

简单的方法是在提示之间交替进行if检查。但是,您可能希望使用函数来帮助保持直线:

函数询问问题、正确答案、正确文本、错误文本{ var回答=提示问题; 如果answer.toUpperCase===correct\u answer.toUpperCase{ alertcorrect\u text+\n您有++++正确的\u计数+无问题的\u计数; }否则{ Alert不正确的\u文本+\n您有+正确的\u计数+无问题的\u计数; } } 函数运行{ 正确计数=0; 问题数量=2; 问:下雨了吗?是的,没错,是的!对不起,实际上是下雨了。; askAm我结婚了?是的,没错,我是!对不起,我有戒指和所有东西。; 决定 } 函数解析{ 警告你得到了+正确的计数+正确的问题!; }
运行 这应该行得通。它基于您的原始代码。请在此处输入代码


顺序如代码中所示。你没想到?提示是询问,提示是回答。只需在检查答案的部分之前放置一个问题提示。现在,首先询问所有问题,并在回答所有问题时进行检查。@Padawan Downvote,因为根据Downvote鼠标,这个问题没有显示任何研究工作。标准调试—每个人,尤其是初学者,在他们的编程曲目中都应该有一个工具—可能会向您揭示问题。@admdrew负3分。令人惊叹的来吧,我相信你可以做更多的事来教训我在发帖前没有进行适当的研究。没错,我没有,你是对的,我应该使用一个开发工具,这在noobs中很常见。唉,我也确信,对付这种无知和厚颜无耻的唯一办法是彻底否决他们,而不是提醒他们在发帖前需要进行研究。“不要投反对票。”学徒,我没有投反对票,我的回答就像我总是说话一样。没有多余的信。如果这是粗鲁的话,我同意。天哪!我现在看到了。我不知道为什么我没有早点看到它。真的很简单。谢谢
var raining = prompt("Is it raining today?");

if (raining.toUpperCase() === "NO") {
  correctAnswers += 1;
  alert("Correct. \nYou have " + correctAnswers + " correct answers out of " + numberOfQuestions);  
} else {
    alert("Don't you wish it was. \nYou have " + correctAnswers + " correct answers out of " + numberOfQuestions);
  }


var married = prompt("Am I married?");
    /* Remaining questions
    var day = prompt("What day is it?");
    var threes = prompt("What does 3 + 3 + 3 equal?");
    var number = prompt("What number am I thinking of?"); 
    */



// Second question - Am I married
if (married.toUpperCase() === "YES") {
  correctAnswers += 1;
  alert("Correct! I am married. \nYou now have " + correctAnswers + " correct answers out of " + numberOfQuestions);
} else {
  alert("Incorrect, I am married. \n You still have " + correctAnswers + " correct answers out of " + numberOfQuestions);
}