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

标签 javascript function if-statement numbers

<分区>

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

我已经到了可以处理整数但不能处理 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 开发工具中取出来,那里没有没有焦虑 XD 的输入这样的东西

很确定我遗漏了一些方法或类型的东西……也许还有一些 bool 运算符和 number.isfloat? 在那种情况下,我不确定在操作顺序方面先于什么:||和&&..

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

最佳答案

因为 typeof 为整数和 float 返回 number,您可以将其用于您的函数。

typeof的演示:

console.log(typeof 1.3);

以下是您如何在您的函数中实现它:

if (typeof a === 'number' && typeof b === 'number')

另外,因为 typeof NaN === 'number',你也应该在你的 if` 语句中使用 isNaN():

if (typeof a === 'number' && typeof b === 'number' && !(isNaN(a) || isNaN(b)))

关于javascript - 在带有 if 语句的函数中检查某物是否为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54226863/

相关文章:

java - 从 JAVA 运行 Bash 脚本文件

jquery - 如果 $ ('img' ).attr ("src", "")

python - 设置 "if"以确保变量是数字而不是字母/符号

javascript - 无法更新

javascript - 迭代前内联检查数组是否存在

javascript - 注入(inject)的 CSS 未在 Chrome 扩展中加载

function - 从弹出窗口调用后台函数

c++ - 如何将非静态成员函数作为回调传递?

arrays - 将单个字符串向上移动到上一行

javascript - 我试图在用户输入 ID 时在 Canvas 中创建名片