javascript返回NaN时将数字与非数字进行比较

时间:2017-02-05 22:43:29

标签: javascript

function largerNum(num1,num2){
  c = (num1>num2)?num1:num2;

return c;
}

console.log('largerNum(2095,106) returns: ' + largerNum(2095,106));
console.log('largerNum("23",14) returns: ' + largerNum("23",14));
console.log('largerNum(108,"a") returns: ' + largerNum(108,"a"));

console.log("\n");

对于这个代码,它比较两个参数并返回更大的数字,我想看看如何返回NaN,当它与数字比较时不是像(108,a)那样的数字

5 个答案:

答案 0 :(得分:1)

应该与此类似:

function largerNum(num1,num2)
{
  if (isNaN(num1) || isNaN(num2)) return NaN;

  return num1 > num2 ? num1 : num2;
}

答案 1 :(得分:1)

使用Math.max

Math.max(1, 2);  // 2
Math.max(1, '2') // 2
Math.max(1, 'a') // NaN

答案 2 :(得分:0)

>>> import os
>>> os.getenv??
Signature: os.getenv(key, default=None)
Source:
def getenv(key, default=None):
    """Get an environment variable, return None if it doesn't exist.
    The optional second argument can specify an alternate default."""
    return environ.get(key, default)
File:      ~/venv/lib/python2.7/os.py
Type:      function

希望这有帮助。

答案 3 :(得分:0)

喜欢这个吗?

function largerNum(a, b) {
    if (Number.isNaN(a) || Number.isNaN(b)) return NaN;
    return Math.max(a, b);
}

答案 4 :(得分:0)

试试这个:



function largerNum(num1, num2){
  if (isNaN(num1) || isNaN(num2)) return NaN;
  return (num1 > num2) ? num1 : num2;
}

console.log('largerNum(2095,106) returns: ' + largerNum(2095,106));
console.log('largerNum("23",14) returns: ' + largerNum("23",14));
console.log('largerNum(108,"a") returns: ' + largerNum(108,"a"));

console.log("\n");