Javascript If…Else If语句,用于比较两种不同条件下的数字
我无法验证JavaScript的两个条件。当我输入一个数字时,第一个Javascript If…Else If语句,用于比较两种不同条件下的数字,javascript,html,Javascript,Html,我无法验证JavaScript的两个条件。当我输入一个数字时,第一个if语句将起作用。但是,else if语句不会打印出符合该条件的任何内容。我们将非常感谢您的帮助 <html> <head> <script> function return() { var num1 = document.getElementById("num1"); var num2 = document.getElementById("num2"); var x = num
if
语句将起作用。但是,else if
语句不会打印出符合该条件的任何内容。我们将非常感谢您的帮助
<html>
<head>
<script>
function return() {
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
var x = num1.value;
var y = num2.value
if (isNaN(x)) {
alert("Please only enter numbers");
return false;
}
if (isNaN(y)) {
alert("Please only enter numbers");
return false;
}
var calculation = (x + y) / (x * y);
var result = document.getElementById("answer");
if (calculation > 1) {
result.value = "Your number is more than 1";
} else {
if (calculation <= 0.5) {
result.value = "Your number is 1 or less";
}
}
}
</script>
</head>
<body>
1: <input type="text" id="num1"/>
2: <input type="text" id="num2"/>
<input type="button" value="Calculate" onclick= "return()"/>
<input type="text" id="answer"/>
</body>
</html>
函数返回(){
var num1=document.getElementById(“num1”);
var num2=document.getElementById(“num2”);
var x=num1.0;
变量y=num2.0
if(isNaN(x)){
警告(“请只输入数字”);
返回false;
}
if(isNaN(y)){
警告(“请只输入数字”);
返回false;
}
var计算=(x+y)/(x*y);
var result=document.getElementById(“答案”);
如果(计算>1){
result.value=“您的号码超过1”;
}否则{
如果(计算)
不能将保留字用作函数名、变量名或标签
也可以将输入值强制转换为数字
。
InputElement.value
返回类型为String
的值,因此如果值是2
和3
,则计算将是(“2”+“3”=>“23”)
,值将被串联,而不是添加
还请注意,您有一个未处理的缺失条件,您还应该有其他条件
函数计算(){
var num1=document.getElementById(“num1”);
var num2=document.getElementById(“num2”);
var x=num1.0;
变量y=num2.0
if(isNaN(x)){
警告(“请只输入数字”);
返回false;
}
if(isNaN(y)){
警告(“请只输入数字”);
返回false;
}
var计算=(+x++y)/(x*y);
var result=document.getElementById(“答案”);
如果(计算>1){
result.value=“您的号码超过1”;
}否则{
如果(calculationreturn是语句,则不要将其用作函数名
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
1: <input type="text" id="num1"/>
2: <input type="text" id="num2"/>
<input type="button" value="Calculate" onclick= "returnq()"/>
<input type="text" id="answer"/>
<script>
function returnq(){
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
var x = num1.value;
var y = num2.value
if (isNaN(x)){
alert("Please only enter numbers");
return false;
}
if (isNaN(y)){
alert("Please only enter numbers");
return false;
}
var calculation = (x+y)/(x*y);
var result = document.getElementById("answer");
if (calculation > 1) {
result.value = "Your number is more than 1";
}
else {
if (calculation <= 0.50) {
result.value = "Your number is 1 or less";
}
}
}
</script>
</body>
</html>
文件
1:
2:
函数returnq(){
var num1=document.getElementById(“num1”);
var num2=document.getElementById(“num2”);
var x=num1.0;
变量y=num2.0
if(isNaN(x)){
警告(“请只输入数字”);
返回false;
}
if(isNaN(y)){
警告(“请只输入数字”);
返回false;
}
var计算=(x+y)/(x*y);
var result=document.getElementById(“答案”);
如果(计算>1){
result.value=“您的号码超过1”;
}
否则{
如果(计算)该else
语句错误,请尝试删除if(计算问题在于,您正在return
ing,这会强制函数退出,如果阻止,则不会给第二个提供运行的机会。此外,return
是JavaScript中的保留关键字,不建议将其作为函数名
下面是一些可行的代码:
1:<input type="text" id="num1" /> <br />
2:<input type="text" id="num2" /> <br />
<input type="button" value="Calculate" onclick="sumUpper()" />
<input type="text" id="answer" />
function sumUpper() {
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
var x = parseFloat(num1.value);
var y = parseFloat(num2.value);
var xError = false;
var yError = false;
if (isNaN(x)) {
console.log("Please only enter numbers x");
xError = true;
}
if (isNaN(y)) {
console.log("Please only enter numbers y");
var yError = true;
}
console.log(xError, yError);
var calculation = (x + y) / (x * y);
var result = document.getElementById("answer");
if (calculation > 1) {
result.value = "Your number is more than 1";
} else {
if (calculation <= 0.50) {
result.value = "Your number is 1 or less";
}
}
}
1:
2:
函数sumpupper(){
var num1=document.getElementById(“num1”);
var num2=document.getElementById(“num2”);
var x=解析浮点(num1.value);
变量y=解析浮点(num2.value);
var-xError=false;
var yError=假;
if(isNaN(x)){
console.log(“请仅输入数字x”);
Xeror=真;
}
if(isNaN(y)){
console.log(“请仅输入数字y”);
var yError=真;
}
console.log(xError,yError);
var计算=(x+y)/(x*y);
var result=document.getElementById(“答案”);
如果(计算>1){
result.value=“您的号码超过1”;
}否则{
if(calculation我猜数字被四舍五入,1和0.5都显示为1。如果必须使用else,请尝试一个数学函数来限制估计。您不能使用函数名return
。return是javascript关键字
试着做这样的事情
函数myFunction(){
var num1=document.getElementById(“num1”);
var num2=document.getElementById(“num2”);
var x=num1.0;
var y=num2.0值;
if(isNaN(x)){
警告(“请只输入数字”);
返回false;
}
if(isNaN(y)){
警告(“请只输入数字”);
返回false;
}
var计算=(x+y)/(x*y);
var result=document.getElementById(“答案”);
如果(计算>1){
result.value=“您的号码超过1”;
}否则{
如果(计算)如果结果介于0.5
和1
之间会怎样?将不满足任何条件,也不会显示任何内容。var计算=(+x++y)/(x*y);
return
不能是函数名..如果在两个位置使用else
。第二个是NaN
。虽然不是从if
内部返回的必需项。一元加号(+x++y)的确切用途是什么?我尝试删除我的函数中的一元加号,但它不起作用,但有一次我使用了一元加号,它起作用了?@Rayon感谢您的解释!我现在明白了。我尝试了这种方法,但它会返回结果“您的数字为1或更少”即使用户没有输入数字。这对我不起作用。当我按calculate键输入小于1的数字时,它也不会返回任何内容。这对我不起作用。无论输入什么数字,我都会不断得到else if语句结果:“你的数字为1或更小。”
1:<input type="text" id="num1" /> <br />
2:<input type="text" id="num2" /> <br />
<input type="button" value="Calculate" onclick="sumUpper()" />
<input type="text" id="answer" />
function sumUpper() {
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
var x = parseFloat(num1.value);
var y = parseFloat(num2.value);
var xError = false;
var yError = false;
if (isNaN(x)) {
console.log("Please only enter numbers x");
xError = true;
}
if (isNaN(y)) {
console.log("Please only enter numbers y");
var yError = true;
}
console.log(xError, yError);
var calculation = (x + y) / (x * y);
var result = document.getElementById("answer");
if (calculation > 1) {
result.value = "Your number is more than 1";
} else {
if (calculation <= 0.50) {
result.value = "Your number is 1 or less";
}
}
}