这是我写的更新脚本</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 但这并不能解决问题。
答案 0 :(得分:0)
我从这里得到了答案 javascript error [object HTMLInputElement][object HTMLInputElement]
导致此错误的因素有两个,我一直使用多个变量进行一次计算并使用解析方法。它不再显示 NaN,但重新加载问题仍然存在。