编写一个 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 ))
我想出了几种编写上述函数的方法。但是,我觉得我都是按错误的顺序做的,而且每一行的条件太多了...
这可以用更简单的方式完成吗(比如,如果数字是整数,只 运行 函数),然后比较数字,而不是我检查它们是否是整数线.
我知道有很多方法可以写这个,希望能保持相同的 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 ))