编写一个 JavaScript 程序接受两个整数并显示较大的一个。

Write a JavaScript program that accept two integers and display the larger.

我想出了几种编写上述函数的方法。但是,我觉得我都是按错误的顺序做的,而且每一行的条件太多了...

这可以用更简单的方式完成吗(比如,如果数字是整数,只 运行 函数),然后比较数字,而不是我检查它们是否是整数线.

我知道有很多方法可以写这个,希望能保持相同的 if - else 方法,但版本更短、更简单,并且可能流程更好。

function integer(a,b) {

  if (a > 0 && b > 0 && a > b) {
    document.write("The larger number is " + a );
  } else if (a > 0 && b > 0 && a < b) {
    document.write("The larger number is " + b);
  } else if (a === b && a > 0 && b > 0) {
    document.write("Both numbers are equal!")
  } else {
      document.write("Please add an integer!");

  }
}

integer(-1,-1);

您确定要检查 >0 吗?您使用带有参数 -1,-1 的函数。 无论如何你可以做这样的事情:

function integer(a,b) {

if(typeof a !== 'number' || typeof b!== 'number' ) {
    document.write("Please add 2 valid numbers");
} else {
  if(a==b) {
    document.write("Two equals number");
   }  else {
    document.write("The larger number is " + (a > b ? a : b ));
   }

  }
}
integer(-1,-1);

或相同的函数,但仅使用三元运算符。更紧凑但有点不可读。 如果你正在做作业,这就是你的老师想要的东西:)(但我不鼓励在现实世界中使用它)

function integer(a,b) {
    (typeof a !== 'number' || typeof b!== 'number' ) ?
        document.write("Please add 2 valid numbers") :
        a == b ? document.write("Two equals number") :
        document.write("The larger number is " + (a > b ? a : b ));
}
function integer(a,b) {
    if(a>=0 && b>=0)
    {
        if(a!=b)
        {
            document.write("The larger number is " + Math.max(a,b));
        }
        else
        {
            document.write("Both numbers are equal!")
        }
    } else {
        document.write("Please add an integer!");
    }
}

integer(-1,-1);

所有整数都是整数(即正数(1)、负数(-1)和零)。分数和小数不是整数。

function integer(a,b) {

    var isInteger = Number.isInteger(a) && Number.isInteger(b);

    if(isInteger && a === b)
        document.write("Both numbers are equal!");

    else if(isInteger)
        document.write("The larger number is " + Math.max(a,b));

    else
        document.write("Please add an integer!");

}

integer(-1,-1);

注意:如果您不希望负数和零作为整数,请使用 (a > 0 && b > 0) 而不是 (Number.isInteger(a) && Number.isInteger(b ))