我正在尝试解决以下代码:
function getStuff(){
document.querySelector('#tuna').onclick=scorefunc;
}
function scorefunc() {
var scorep;
scorep = scorep + 1;
document.getElementById("scorez").innerHTML = "You have found me: " + scorep + " times";
}
基本上,当用户单击ID为tuna的段落元素(p)时,scorefunc运行。我试图每次将分数添加1,但是却显示“您已经找到我NaN次”
如果这是错误的话,我的HTML代码如下所示:
<p id ="scorez">You have found me: </p>
提前致谢 :)
最佳答案
问题是scorep
是undefined
。您声明了它(即var scorep
),但从未定义它,因此您实际上是在尝试将undefined
和1
加在一起,当然会产生NaN
。
将声明更改为var scorep = 0
即可解决此问题。
此外,如果希望每次单击scorep
元素时p
加1,则必须创建closure或在局部范围之外声明变量。
var scorep = 0
function scorefunc() {
scorep += 1
document.getElementById("scorez").innerHTML = `You have found me: ${scorep} times`
}
关于javascript - 尝试增加分数时获得NaN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60142387/