You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript变量数值显示为NaN而非预期值,如何实现点击前默认显示0

问题原因
  • 未初始化全局点击次数变量:你在moneyClick函数中直接写var clicks = clicks + 1,每次函数执行时会创建值为undefined的局部变量clicks,undefined参与数值运算后结果为NaN,导致所有金额计算和显示异常。
  • 没有给金额标签设置初始值:JS中定义的money = 0只是变量值,不会自动同步到DOM节点,页面加载完成后需要手动给#money元素赋值才能显示默认的0。
  • 原代码存在语法不规范问题:<head>结束后缺少<body>开始标签,虽然不影响核心功能运行,但不符合HTML语法规范。
修复后的完整代码
<html>
<head>
  <script>
    var money = 0;
    var clickingPower = 10; 
    var clicks = 0; // 新增全局点击次数初始化

    // 页面加载完成后设置初始金额显示
    window.onload = function() {
      document.getElementById("money").innerHTML = money;
    }
    
    function moneyClick() {
      clicks += 1; // 直接修改全局点击次数,不要重复声明变量
      document.getElementById("money").innerHTML = money + clickingPower * clicks;
    }
  </script>
</head>
<body>
  <h1>You have <span id="money"></span> dollars</h1>
  <button onclick="moneyClick()">Click to make money</button>
</body>
</html>

内容的提问来源于stack exchange,提问作者embers02

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:15:03