Javascript 与“有问题;用于”;语句,也可能是关于如何正确实现该语句的混淆。

Javascript 与“有问题;用于”;语句,也可能是关于如何正确实现该语句的混淆。,javascript,Javascript,我正在尝试用JavaScript构建数学测试应用程序。但是我对FOR语句有一个问题,我想让它做的是为回答正确的每个问题在分数上加一分。为了测试它,我将分数设置为0,userID将是用户输入,如果用户输入正确的答案,它将增加到1,但它将继续增加到10。有没有办法在第一个周期后停止计数,然后等到第二个周期,依此类推,直到达到10 <!doctype html> <html> <head> </head> <body> <div i

我正在尝试用JavaScript构建数学测试应用程序。但是我对FOR语句有一个问题,我想让它做的是为回答正确的每个问题在分数上加一分。为了测试它,我将分数设置为0,userID将是用户输入,如果用户输入正确的答案,它将增加到1,但它将继续增加到10。有没有办法在第一个周期后停止计数,然后等到第二个周期,依此类推,直到达到10

<!doctype html>
<html>
<head>
</head>

<body>

<div id="scoreBlock"><span id="score">0</span></div>
<input type="text" id="userID"/>
<button onclick="begin();">Start</button>



<script>
function begin(){

var h= document.getElementById("score");
var user =document.getElementById("userID").value;
var test = "5";

for(h=0;h<=10;h++){
if(user==="5"){

document.getElementById("score").innerHTML= h;

}else if(!user==="5"){

alert("noting");
}

}//end of while
}//end of function
</script>

</body>
</html>

0
开始
函数begin(){
var h=document.getElementById(“分数”);
var user=document.getElementById(“userID”).value;
var test=“5”;

对于(h=0;h<p>),在这个测试中,当用户=5时,你认为正确的答案发生。在不改变条件的情况下,你做了10次。显然,这是正确答案的10倍。

<script>
function begin(){

var user = document.getElementById("userID").value;
var test = "5";
var correctAnswer = 0;

for(var h=0;h<=10;h++){
    if(user==="5"){
        correctAnswer++;
    }
}

document.getElementById("score").innerHTML= correctAnswer;

if (correctAnswer == 0) {
    alert("noting");
}
</script>

函数begin(){
var user=document.getElementById(“userID”).value;
var test=“5”;
var correctAnswer=0;

for(var h=0;h如果我正确理解您的问题,您希望每次用户单击按钮时更新分数,并检查user的值是否与test相同。在这种情况下,您不需要for循环

<script>
var score = 0; 
var test = "5";

function begin(){
  var user = document.getElementById("userID").value;
  if(user === test) {
    score++;
  }
  document.getElementById("score").innerHTML= score;
}
</script>

var得分=0;
var test=“5”;
函数begin(){
var user=document.getElementById(“userID”).value;
如果(用户===测试){
分数++;
}
document.getElementById(“score”).innerHTML=score;
}

我尝试了它,它工作了,所以我添加了两个输入“num1”,“num2”,并创建了一个变量var answer=+num1*+num2,并将测试替换为answer,因此如果用户回答正确,它会增加到1,但我再次尝试,它只会显示“1”当记分员尝试将您的代码放到JSFIDLE上时,我们可以看到发生了什么。看看这是否是您想要的-。我将分数的初始化移到了函数外部,这样就不会在每次单击按钮时重新初始化。是的!!这就是我希望它工作的方式,谢谢我已经工作了一周。函数begin(){var score=0;var numb1=document.getElementById(“num1”).value;var numb2=document.getElementById(“num2”).value;var user=document.getElementById(“userID”).value;var answer=+numb1*+numb2;alert(answer);if(user==answer){score++;}document.getElementById(“score”).innerHTML=score;}