Javascript 如何确定函数除以2的参数是否为NaN?

Javascript 如何确定函数除以2的参数是否为NaN?,javascript,Javascript,我需要写一个函数来接受一个参数。如果除以2的参数为NaN,则返回“飞行的夜间哺乳动物人!”,否则返回除以2的参数结果。我觉得我正在尝试的是非常接近。任何帮助都将不胜感激!谢谢 以下是我正在尝试的: nananan = (num) => { if(num/2 == isNaN(num) || isNaN(num)) { return "FLYING NOCTURNAL MAMMAL MAN!"; } else { return num; } } 因此,以下代码应

我需要写一个函数来接受一个参数。如果除以2的参数为NaN,则返回“飞行的夜间哺乳动物人!”,否则返回除以2的参数结果。我觉得我正在尝试的是非常接近。任何帮助都将不胜感激!谢谢

以下是我正在尝试的:

nananan = (num) => {
  if(num/2 == isNaN(num) || isNaN(num)) {
    return "FLYING NOCTURNAL MAMMAL MAN!";
  } else {
    return num;
  }
}

因此,以下代码应该可以工作

nanan=(num)=>{
if(isNaN(num)){
返回“夜间飞行的哺乳动物人!”;
}否则{
返回num/2;
}
}
console.log(nananan())//现在是南
console.log(nananan('adf'))//现在是南
控制台日志(纳纳南(1))//现在它不是一个南

console.log(nananan(-1))//现在它不是NAN
,因此以下代码应该可以工作

nanan=(num)=>{
if(isNaN(num)){
返回“夜间飞行的哺乳动物人!”;
}否则{
返回num/2;
}
}
console.log(nananan())//现在是南
console.log(nananan('adf'))//现在是南
控制台日志(纳纳南(1))//现在它不是一个南
console.log(nananan(-1))//现在它不是NAN
nan=(num)=>{
if(isNaN(num/2))返回“飞行夜间哺乳动物人!”
否则返回num/2
}
控制台日志(nan(2))
console.log(nan('a'))
nan=(num)=>{
if(isNaN(num/2))返回“飞行夜间哺乳动物人!”
否则返回num/2
}
控制台日志(nan(2))

console.log(nan('a'))
您可以使用:


正如我在评论中所提到的,虽然
isNaN(num/2)
确实是您所寻找的条件,但当且仅当
isNaN(num)
为真时,它才是真的。

您可以使用:


正如我在评论中提到的,虽然
isNaN(num/2)
确实是您所寻找的条件,但当且仅当
isNaN(num)
为真时才是真的。

isNaN(num/2)
?发生这种情况的唯一方法是如果
isNaN(num)
本身也是正确的。我不确定这是一个垃圾站还是我在这里没有看到什么…@ChristopherFrancisco。跳到3:30
isNaN(num/2)
?发生这种情况的唯一方法是如果
isNaN(num)
本身也是正确的。我不确定这是一个垃圾站还是我在这里没有看到什么…@ChristopherFrancisco。跳到3:30显然,函数必须命名为nananan,否则无效;)(当然是开玩笑)如果我的答案是正确的,请把它标记为正确答案,这样你的问题就可以结束了。@PatrickRoberts这很简单:
4
。事实上,任何数字都不是
NaN
Infinity
-Infinity
0
,或者
-0
。啊,这就是你一直关注的部分。。。公平地说,除非您完全拒绝尝试的实现,否则这一点并不清楚。显然,函数必须命名为
nananan
,否则它无效;)(当然是开玩笑)如果我的答案是正确的,请把它标记为正确答案,这样你的问题就可以结束了。@PatrickRoberts这很简单:
4
。事实上,任何数字都不是
NaN
Infinity
-Infinity
0
,或者
-0
。啊,这就是你一直关注的部分。。。公平地说,除非你完全拒绝尝试的实施,否则这还不清楚。亲爱的投票人,你能解释一下为什么投票失败吗?所以我可以改进吗?它应该在else子句中返回
num/2
。是的,但他说它应该“返回参数除以2的结果”。我很确定原来的代码根本不起作用,OP认为if语句中的
num/2
发生了变异
num
,因此所有未来的使用都已经除以2。亲爱的投票人,你能解释一下为什么投反对票吗?所以我可以改进吗?它应该在else子句中返回
num/2
。是的,但他说它应该“返回参数除以2的结果”。我很确定原来的代码根本不起作用,OP认为if语句中的
num/2
发生了变异
num
,因此所有未来的用法都已经除以2。
const nananan = num => isNaN(num) ? 'FLYING NOCTURNAL MAMMAL MAN!' : num / 2;