You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写函数检查Number对象属性并返回指定格式内容?

JavaScript函数whatNumberIsIt(n)的最佳实现

实现思路

按优先级依次判断输入值的特殊类型,再处理普通数字:

  1. 先判断是否为NaN(需用Number.isNaN(),因为NaN === NaN始终为false)
  2. 再判断是否为正无穷或负无穷
  3. 接着判断是否为Number的最大值或最小值
  4. 最后输出普通数字的对应描述

完整代码实现

function whatNumberIsIt(n) {
  if (Number.isNaN(n)) {
    return "Input number is NaN";
  }
  if (n === Number.POSITIVE_INFINITY) {
    return "Input number is Number.POSITIVE_INFINITY";
  }
  if (n === Number.NEGATIVE_INFINITY) {
    return "Input number is Number.NEGATIVE_INFINITY";
  }
  if (n === Number.MAX_VALUE) {
    return "Input number is Number.MAX_VALUE";
  }
  if (n === Number.MIN_VALUE) {
    return "Input number is Number.MIN_VALUE";
  }
  return `Input number is ${n}`;
}

关键细节说明

  • NaN判断:必须用Number.isNaN()而非全局isNaN(),全局isNaN()会先把非数字类型转为数字,可能出现误判(比如isNaN('abc')返回true,但我们只需要判断输入本身是否为NaN)
  • 顺序逻辑:特殊值(NaN、无穷)不会和MAX/MIN_VALUE相等,先判断这些能避免逻辑混乱
  • 模板字符串:最后返回普通数字时用ES6模板字符串,让代码更简洁易读

内容的提问来源于stack exchange,提问作者Qwop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:37:28