繁体   English   中英

尝试增加分数时获取 NaN

[英]Getting NaN when attempting to increment score

我正在尝试对以下代码进行故障排除:

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>

提前致谢 :)

问题是scorepundefined 您声明它(即var scorep ),但您从未定义它,因此您实际上是在尝试将undefined1相加,这当然会产生NaN

将您的声明更改为var scorep = 0以解决问题。

此外,如果您希望每次单击p元素时scorep递增 1,您将不得不创建一个闭包或在本地范围之外声明变量。

var scorep = 0
function scorefunc() {
  scorep += 1
  document.getElementById("scorez").innerHTML = `You have found me: ${scorep} times`
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM