如何将我的函数参数作为数字而不是“NaN”进行交互/输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将我的函数参数作为数字而不是“NaN”进行交互/输出?相关的知识,希望对你有一定的参考价值。
所以我收到了从我的入门课程到javascript的任务,我们还没有那么远,所以我目前没有很多关于这个主题的知识,但是我被困在任务的这一部分。分配是制作一个简单的计算器,它能够使用四个基本函数(+, - ,*,/),用两个参数调用该函数并输出结果。这是javascript代码:
"use strict";
var x = document.getElementById('nummer1').value;
var y = document.getElementById('nummer2').value;
function add(p1, p2) {
return Number(p1) + Number(p2);
}
function subtract(p1, p2) {
return p1 - p2;
}
function multiply(p1, p2) {
return p1 * p2;
}
function divide(p1, p2) {
return p1 / p2;
}
现在的html:
<input type="number" name="nr1" id="nummer1">
<input type="number" name="nr2" id="nummer2"><br><br>
<button type="button" onclick="document.getElementById('demo').innerHTML = add(x, y)">Add</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = subtract(x, y)">Subtract</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = multiply(x, y)">Multiply</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = divide(x, y)">Divide</button>
<p>The answer is: <span id="demo"></span></p>
现在的问题是,每当我尝试使用其中一个按钮时,输出结果为“NaN”。我似乎无法弄清楚为什么会这样。我已经做到这一点,变量x和y是用户输入的值,我已经指定它们是数字。我不是将它们除以零或类似的东西。他们不应该只是正常计算吗?我哪里错了?如果这有任何区别,我通常将js代码放在head部分。
答案
现在的问题是,每当我尝试使用其中一个按钮时,输出结果为“NaN”
因为单击这些按钮时不会获取x
和y
的最新值。
做了
function add() {
var p1 = document.getElementById('nummer1').value;
var p2 = document.getElementById('nummer2').value;
return Number(p1) + Number(p2);
}
function subtract(p1, p2) {
var p1 = document.getElementById('nummer1').value;
var p2 = document.getElementById('nummer2').value;
return p1 - p2;
}
function multiply(p1, p2) {
var p1 = document.getElementById('nummer1').value;
var p2 = document.getElementById('nummer2').value;
return p1 * p2;
}
function divide(p1, p2) {
var p1 = document.getElementById('nummer1').value;
var p2 = document.getElementById('nummer2').value;
return p1 / p2;
}
<input type="number" name="nr1" id="nummer1">
<input type="number" name="nr2" id="nummer2"><br><br>
<button type="button" onclick="document.getElementById('demo').innerHTML = add()">Add</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = subtract()">Subtract</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = multiply()">Multiply</button>
<button type="button" onclick="document.getElementById('demo').innerHTML = divide()">Divide</button>
<p>The answer is: <span id="demo"></span></p>
以上是关于如何将我的函数参数作为数字而不是“NaN”进行交互/输出?的主要内容,如果未能解决你的问题,请参考以下文章