这是一个codepen,所以你可以看到发生了什么:codepen
我相信我遇到了阵列问题。如果您在最后一个问题上回答正确,则不会添加总分,并且控制台中会弹出错误。我玩移动addScore功能,但仍然没有运气,但是在上一个问题之后仍然显示“你得到正确的好工作”。
我最后还有一些文字显示了你的最终得分,但这似乎出现在最后一个问题而不是最后一个问题之后。我想知道shift()方法是否搞乱了它?
QuestionView.prototype.nextQuestion = function() {
this.currentQuestion = this.collection.shift();
this.showQuestion();
this.handleQuestion();
this.showScoreAndCount();
}
答案 0 :(得分:0)
错误发生在showQuestion()中,考虑到在最后一个问题之后没有留下任何问题,这是预期的。如果你把它按照这个顺序排列,它会正确计算最后一个答案
QuestionView.prototype.nextQuestion = function() {
this.showScoreAndCount();
this.currentQuestion = this.collection.shift();
this.showQuestion();
this.handleQuestion();
}
由于代码在错误处停止执行,只需将计数部分放在错误之前就可以解决问题。这样它也会将问题编号增加到6/5,但这是次要的。在某个地方(或在几个地方),如果它是最后一个问题,你需要做一个有条件的做不同的事情。
我没有看到最后的任何文字显示你的最终得分,顺便说一句。在角落里得分相同。