Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript If…Else If语句,用于比较两种不同条件下的数字_Javascript_Html - Fatal编程技术网

Javascript If…Else If语句,用于比较两种不同条件下的数字

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

我无法验证JavaScript的两个条件。当我输入一个数字时,第一个
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";
     }
   }
 }