当用户点击该按钮时,它将验证是否已选中任何单选按钮(checkChoices()
),如果是,则会将选中的单选按钮的值与correctAnswer
进行比较。
问题在于keepScore()
功能,因为score
对于任何答案都保持为0。
var score = 0;
var checkChoices = function(){
for (var i = 0; i < choices.length; i++) {
if (choices[i].checked) {
var value = choices[i].value;
choices[i].checked = false;
}
}
return value;
};
//the keepScore function doesn't increment
var keepScore = function(){
if(checkChoices() == allQuestions[y].correctAnswer) {
score++;
}
};
var behavior = function(){
if(y<allQuestions.length-1 && checkChoices()) {
keepScore();
y++;
}
};
nextBtn.onclick = function(){
behavior();
};
答案 0 :(得分:0)
您需要在函数的开头声明var值。 您的函数将始终返回undefined,因为var至少需要在return语句的范围内。