Javascript JS新手,无法修复学校项目的错误
我正在为一个计算机类做一个项目,我对JavaScript是新手。我一直在获取NaN的输出,并且一直在寻找答案,但没有找到任何答案。该项目是一个复利计算器和用户界面设计完成 我不确定该尝试什么,因为我是JS新手Javascript JS新手,无法修复学校项目的错误,javascript,Javascript,我正在为一个计算机类做一个项目,我对JavaScript是新手。我一直在获取NaN的输出,并且一直在寻找答案,但没有找到任何答案。该项目是一个复利计算器和用户界面设计完成 我不确定该尝试什么,因为我是JS新手 var i = getNumber("amountInput"); var c = getNumber("compoundedInput"); var l = getNumber("lengthInput"); var r = getNumber("rateInput"); var rc
var i = getNumber("amountInput");
var c = getNumber("compoundedInput");
var l = getNumber("lengthInput");
var r = getNumber("rateInput");
var rc = r / c;
var cl = c * l;
onEvent("calculateButton", "click", function() {
var rca = 1 + rc;
var p = Math.pow(rca, cl);
var f = i * p;
setText("outputArea", f);
});
输出应该是一个数字,但我得到的是NaN。您需要设置OneEvent函数中的所有变量,以便在用户单击按钮后获得输入值。您在第一次加载页面时设置它们,此时输入将为空 onEventcalculateButton,单击,函数{ var i=GetNumberMountInput; var c=getNumbercompoundedInput; var l=GetNumberLength输入; var r=getNumberrateInput; var rc=r/c; var cl=c*l; var-rca=1+rc; var p=数学功率,cl; var f=i*p; settextoutputrea,f; }; JS中的NaN表示“不是数字” 通常,当您尝试将非数字字符串转换为数字时,您会看到NaN,无论是显式转换(例如parseFloat'3),还是隐式转换(例如表达式3*'a'将隐式转换为数字)。值得注意的是,除零并不能给出JS中的NaN,而是给出无穷大或-无穷大;但是,0/0也会给出NaN
对于您的用例,您希望getNumber返回一个数字,但似乎不是。查看getNumber代码或将其复制到问题中。如果您想从html输入中获取数字,则不能使用getNumber
getNumber做什么?我怀疑这是问题的一部分。它从输入中获取一个数字。还有什么可以做同样的事情吗?发布getNumber方法的实现,正如Barmar所说的,您需要在click处理程序中完成这项工作;这些初始赋值不会在变量和字段之间创建永久绑定。不过,感谢您的输入,我已经解决了这个问题。
<input type="text" id="number" >
<button id="submit">Submit</button>
const number = documnet.getElementById('number');
const submitBtn = document.getElementById('submit');
submitBtn.addEventListener('click', () => {
const plusOne = 1 + Number(number.value);
console.log(plusOne)
});