Javascript 在页面上给我一个 NaN 但在控制台上给我一个数字?

时间:2021-01-22 13:07:38

标签: javascript nan

这是我写的更新脚本<​​/p>

<script>
  let num1=parseFloat(document.querySelector('#origin').value)
  let num2=parseFloat(document.querySelector('#added').value)
  let calcProfit=parseFloat(100-num2)
  let btn=document.querySelector('#submit')
  btn.addEventListener("click", function(event){
      event.preventDefault()
      const initResult=num1/calcProfit
      const finalResult=initResult*100
      document.querySelector('span').innerHTML=`${finalResult.toFixed(3)}`
      console.log(typeof(finalResult))
      if (finalResult.toString().length>3 && finalResult.toString().length<7){
          const k=finalResult/1000
          document.querySelector('span').innerHTML=`${k.toFixed(1)}k`
        }
        if (finalResult.toString().length>6 && finalResult.toString().length<10){
            const m=finalResult/1000000
            document.querySelector('span').innerHTML=`${m.toFixed(1)}M`
        }
    });
   let clr=document.querySelector('#clear');
    clr.addEventListener("click", function(e){
        window.location.reload()
    })

首次运行时显示 NaN,但是当我重新加载页面时一切正常。我怀疑 clear 函数,因为当我第一次编写它时,它没有给出任何错误,但整个应用程序的行为很突然。在这个版本中,清除按钮会删除结果但不影响它,所以当我输入新数字时,它会给我旧的结果。我试过 innerHTML 但这并不能解决问题。

1 个答案:

答案 0 :(得分:0)

我从这里得到了答案 javascript error [object HTMLInputElement][object HTMLInputElement]

导致此错误的因素有两个,我一直使用多个变量进行一次计算并使用解析方法。它不再显示 NaN,但重新加载问题仍然存在。

相关问题