【发布时间】:2021-05-24 04:18:54
【问题描述】:
我不确定为什么在控制台上出现 NaN 错误。 span id=" score" 的默认值为 0,尽管已将其转换为数字,但点不会更新。基本上,这是一个数字游戏,其中有 3 个盒子,具有不同的 id。 Onclick,它会检查用户选择的输入,并检查数字是否相同,如果符合则获得 3 分,如果错误则减 2 分。
function checkAnswer(){
var scoredPoints = document.getElementById("score");
var updatedScore = Number(scoredPoints.value);
var finalScore;
var answer = document.getElementById("listofOptions");
var check = Number(answer.value);
var numberOne = document.getElementById("one");
var numberTwo = document.getElementById("two");
var numberThree = document.getElementById("three");
var check1 = Number(numberOne.value);
var check2 = Number(numberTwo.value);
var check3 = Number(numberThree.value);
if(check == check1 || check == check2 || check == check3)
{
finalScore = updatedScore + 3;
scoredPoints.innerHTML=finalScore;
console.log(finalScore);
}
else{
finalScore = updatedScore - 2;
scoredPoints.innerHTML=finalScore;
console.log(finalScore);
}
scoredPoints.value = finalScore;
}
【问题讨论】:
-
我们能看到 HTML 吗?
-
代码看起来不错,问题一定出在您的 HTML 上。还可以尝试减少变量声明。
-
您是否在函数的第二行获得任何值,即“updatedScore”?
-
0 这部分是我的分数。我得到了 nan for updatedScore ,刚刚做了 console.log 。
-
标签: javascript html nan