Javascript 在带有if语句的函数中检查某物是否为数字

Javascript 在带有if语句的函数中检查某物是否为数字,javascript,function,if-statement,numbers,Javascript,Function,If Statement,Numbers,我想要一个函数包含两个参数,如果它们都是数字,告诉我哪个更大。我还希望它能给出一个很好的输出,如果它们是数字,那么其中一些不是数字(因为它无论如何都无法计算) 我已经到了可以处理int,但不能处理float的程度。这让我难以理解,我想知道写下来的最佳实践是什么 这是我到目前为止得到的 var iamanumbergenius = function(a, b) { if (Number.isInteger(a) && Number.isInteger(b)) { if (a >

我想要一个函数包含两个参数,如果它们都是数字,告诉我哪个更大。我还希望它能给出一个很好的输出,如果它们是数字,那么其中一些不是数字(因为它无论如何都无法计算)

我已经到了可以处理int,但不能处理float的程度。这让我难以理解,我想知道写下来的最佳实践是什么

这是我到目前为止得到的

var iamanumbergenius = function(a, b) {
if (Number.isInteger(a) && Number.isInteger(b)) {
if (a > b) {
  console.log('first is greater');
  } else if (b > a) {
  console.log('second is greater');
  } else {
  console.log('equality is the answer');
  }
} else { console.log('i only like nums'); }
}
抱歉,这段代码太难看了,它是从chrome开发工具中直接带出来的,在chrome开发工具中,没有什么东西可以在没有XD的情况下按enter键

我肯定我错过了一些方法或类型的东西。。。也许再加上一些布尔运算符和number.isfloat? 在这种情况下,我不确定在操作顺序方面,什么在什么之前:| |和&


谢谢!我对这些东西很陌生,所以任何帮助都会很好:)

因为
typeof
为整数和浮点返回
number
,您可以将其用于函数

类型的演示

console.log(类型1.3)请尝试以下操作:

console.log(isNaN(123));
console.log(isNaN(1.23));

log(isNaN('stack')
如果
a
b
已经是数字,
typeof a==='number'
将为整数或浮点数返回true。
typeof value=='number'
通常工作得很好。注意,NaN也是类型编号<代码>值%1==0
也适用于整数。请尝试isNaN()检查是否为数字,而不是仅为整数。是否仅检查数字或整数?因为标题是数字,但代码是整数。@Taplar谢谢!原来我只是忘了把“。。。愚蠢的01:30请注意,
typeof NaN==“number”
。好的观点@RobG,我将包括
isNaN()
。谢谢你了解这一点。