首页 > 其他分享 >isNaN()和Number.NaN()

isNaN()和Number.NaN()

时间:2024-02-22 16:26:28浏览次数:23  
标签:isNaN false NaN 值为 Number true

都是判断一个值是不是NaN。

isNaN()会尝试执行Number()将值转成数值,然后对转换后的结果是否是NaN进行判断。

isNaN(true)       // false 因为Number(true)值为1,而1不是NaN, 所以返回false
isNaN(undefined); // true  因为Number(undefined)值为NaN, 所以返回true
isNaN({});        // true  因为Number({})值为NaN, 所以返回true
isNaN('abc');     // true  因为Number(abc)值为NaN, 所以返回true
isNaN('');        // false 因为Number('')值为0, 所以返回false

  

Number.isNaN()会先判断参数是不是number类型,如果不是,直接返回false,如果是,再判断是不是NaN。

// 基本使用
Number.isNaN(NaN)    // true
Number.isNaN(1)      // false

// 特殊情况
Number.isNaN(true)        // false 因为true不是Number类型
Number.isNaN(undefined)   // false 因为undefined不是Number类型
Number.isNaN({})          // false 因为{}不是Number类型
Number.isNaN("abc")       // false 因为"abc"不是Number类型
Number.isNaN("")          // false 因为""不是Number类型

 总结: Number.isNaN用来判断某个值是否是NaN更像是我们理想型用法,不会产生一些比较怪异的行为,使我们的代码更加的严谨,防止出现bug, 所以在写代码的时候更推荐使用Number.isNaN这个方法来确定一个值是否是NaN

标签:isNaN,false,NaN,值为,Number,true
From: https://www.cnblogs.com/yaotuo/p/18027354

相关文章

  • NanoFramework操作ESP32(一)_基础元器件篇(二十六)_ KY-028热敏传感器(数字温度)
    一、元器件介绍    检测环境温度1、针脚用途编号名称功能1AO模拟量输出2G电源地3+电源正4DO开关量输出,温度高于某值时输出高电压,低于阀值时输出低电平二、示例代码1、代码:元器件的针脚ESP32模块的针脚AO;声音......
  • NanoFramework操作ESP32(一)_基础元器件篇(四十一)_ 线性霍尔传感器
    一、元器件介绍    触摸感应头即可激活电路。1、针脚用途编号名称功能1AO模拟量输出2G电源地3+电源正4DO开关量输出,检测到磁性时输出高电压,低于阀值时输出低电平二、示例代码1、代码:元器件的针脚ESP32模块的针脚......
  • NanoFramework操作ESP32(一)_基础元器件篇(三十)_ 人体触摸传感器
    一、元器件介绍    TCRT5000传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围(1mm~25mm)内时,红外线被反射回来且强度......
  • vue中花括号表达式,string类型除以number类型返回NaN值
    bug:数据为0时,el-progress的color还是有颜色,应该是没有颜色的第一步解决:设置动态color<el-progress:show-text="false":percentage="(oilCarOccupationNum/totalNum)*100":color="oilCarOccupationNum?'......
  • (ColumnTypes[number] & { editable?: boolean; dataIndex: string; })[]
    (ColumnTypes[number]&{editable?:boolean;dataIndex:string;})[]在TypeScript中,这段类型定义可以分解理解:ColumnTypes[number]:首先,如果ColumnTypes是一个数组类型(如Column[]),那么ColumnTypes[number]就是获取数组中的元素类型。在TypeScript中,number表示数组......
  • The number of divisors(约数) about Humble Numbers
    Anumberwhoseonlyprimefactorsare2,3,5or7iscalledahumblenumber.Thesequence1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,...showsthefirst20humblenumbers.Nowgivenahumblenumber,pleasewriteaprogramtocal......
  • Humble Numbers
    打的暴力,样例都要过好久,小脑直接萎缩©©VjudgeAnumberwhoseonlyprimefactorsare2,3,5or7iscalledahumblenumber.Thesequence1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27,...showsthefirst20humblenumbers.Writeapro......
  • input,type为number时隐藏点击按钮和限制输入最大最小值
    //隐藏点击按钮input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;}input[type='number']{-moz-appearance:textfield;}//解决输入中文后光标上移的问题.el-input__inner{line-height:1px!important;}//......
  • JavaScript 内置 Number 类型在处理浮点数时的精度问题 是如何造成的?
    JavaScript内置的Number类型在处理浮点数时的精度问题主要是由以下原因造成的:IEEE754浮点数标准:JavaScript中的数字是基于IEEE754标准实现的双精度浮点数(64位),其中:最高1位为符号位(0表示正数,1表示负数)。接下来的11位用于存储指数部分(范围大约从-1022到1023)。剩余的......
  • P9847 [ICPC2021 Nanjing R] Crystalfly
    前景导入当\(t\in[1,2]\)时,本题如何求解?答:树形dp设\(f[i]\)为以\(i\)为根的树,根节点的晶蝶已消散且儿子节点的晶蝶还未被惊动,能获得的最大晶蝶数。则有状态转移方程\(f[i]=(\sumf[u])+max(a[u])\),其中\(u\)为\(i\)的儿子。最终的答案即为\(f[1]+a[1]\)划向更......