该函数不会增加给定变量

时间:2014-11-03 21:34:33

标签: javascript functional-programming

当用户点击该按钮时,它将验证是否已选中任何单选按钮(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();
};

1 个答案:

答案 0 :(得分:0)

您需要在函数的开头声明var值。 您的函数将始终返回undefined,因为var至少需要在return语句的范围内。