首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NaN和Infinity,null和undefined

1、NaN和Infinity 那先来说说JavaScript的数据类型,有Number、字符串、布尔值、对象等等,而NaN和Infinity就属于Number类型。...先说说它俩的差别: NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number...所能表示的最大值时,就表示为Infinity 举个栗子: 2 / 0; // Infinity 0 / 0; // NaN 并且NaN有个特例,我们都知道相等运算符有两种:== 和 ===。...但NaN却和所有的值都不相等,包括它自己: NaN===NaN; //false; 唯一能判断NaN的方法是通过IsNaN()函数: isNaN(NaN); // true 2、null和undefined...在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。 (1)null表示"没有对象",即该处不应该有值。

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    原 NaN和Infinity,null和u

    1、NaN和Infinity 那先来说说JavaScript的数据类型,有Number、字符串、布尔值、对象等等,而NaN和Infinity就属于Number类型。...先说说它俩的差别: NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number...所能表示的最大值时,就表示为Infinity 举个栗子: 2 / 0; // Infinity 0 / 0; // NaN 并且NaN有个特例,我们都知道相等运算符有两种:== 和 ===。...但NaN却和所有的值都不相等,包括它自己: NaN===NaN;  //false; 唯一能判断NaN的方法是通过IsNaN()函数: isNaN(NaN); // true 2、null和undefined...在其他语言中,也有类似JavaScript的null的表示,例如Java也用null,Swift用nil,Python用None表示。 (1)null表示"没有对象",即该处不应该有值。

    1K60

    Java 中的 NaN

    在这篇文章中,我们对 Java 中的 NaN 进行一些简单的描述和说明和在那些操作的过程中可以尝试这个值,和可以如何去避免。 什么是 NaN NaN 通常表示一个无效的操作结果。 ...在 Java 中,只有浮点数据类型 float 和 double 实现了这个标准。 Java 咋 使用 Float.NaN 和Double.NaN 来定义了 NaN 构造函数。...NaN 的比较 在 Java 中,如果我们开始写一个方法的时候,我们应该需要针对方法的输入数据进行检查,以确保输入数据的准确和输入数据在允许的范围内。...= NaN INFINITY - INFINITY = NaN INFINITY * ZERO = NaN 同时有关数字的操作和计算的结果并不能产生数字的情况下也会输出为 NaN。...,我们对 NaN 的情况进行了一些简单的讨论,同时我们也讨论了在实际的计算中可能会有哪些情况会导致产生 NaN,同时对如何进行 NaN 在 Java 中的比较和计算也提供了一些实例。

    3.5K20

    002. java.lang.NumberFormatException: Infinite or NaN,怎么破?

    NaN 首先当然是利用Java语言强类型的优势,看看哪些地方引用到了java.lang.NumberFormatExceptionNumberFormatException: OMG,在641...Tips:NaN代表不是数字,因此“不是数字”和“不是数字”不相等,从逻辑上好像也说得通嘛 针对此异常的补充说明 围绕POSITIVE_INFINITY、NEGATIVE_INFINITY、NaN三个常量进行一些补充说明吧.../ -0.0)); // Infinity } 总结一下:正/负无穷大和任何数值(包括除以0)做运算结果都是本身,和Infinite or NaN运算结果为NaN;NaN进行任何运算的结果都是NaN。...其它语言的表现 以弱类型语言JavaScript为例: 表现和Java一样。毕竟NaN早已被纳入IEEE 754规范了,不出意外每种编程语言的表现都是一致的。...Tips:JavaScript中的isFinite()方法是正向思维的,和Java里isInfinite()是“反”着来的哦 遇到此异常怎么破?

    1K41

    学习了这么些年,请问编程中除以 0 一定抛异常吗?

    然而,情况在浮点数运算中截然不同,尤其是在 Java 等编程语言中,浮点数除以零并不会抛出异常,而是返回特殊的值——Infinity 或 NaN。...为了保证程序的稳定性和容错性,计算机采用了特别的策略来处理这些边界条件。3.1 数值类型的表示Java 提供了两种基本的数值类型:整数类型和浮点类型。...根据该标准,浮点数在进行除法运算时,尤其是在除数为零时,不会抛出异常,而是返回 Infinity 或 NaN。这是为了增强程序的容错性和稳定性。...浮点数与整数的区别4.1 浮点数:容忍不确定性在浮点数的计算中,Infinity 和 NaN 是标准的一部分,它们代表着计算结果中不可确定或无法定义的部分。...而返回 Infinity 或 NaN 则允许开发者继续处理这些值,或者在程序中进行进一步判断。6. 整数除以零对于整数除以零的情况,Java 会抛出 ArithmeticException 异常。

    26830

    C语言中的nan和inf使用

    本文总结nan和inf在C语言当中的含义、产生和判定方法。...得到nan时就查看是否有非法操作; 如果表达式中含有nan,那么表达式的结果为nan; 对于NaN的实现有两种方式:signaling NaN 和 quiet NaN。...quiet NaN就是即使在计算出现异常的情况下也不抛出异常从而中断程序的执行、而是将结果表示为一个特殊的值, 因此只有在这种情况下NaN宏才被定义; C语言当中的inf infinity (linux...注意: +inf大于任何数(除了它自己和nan);-inf小于任何数(除了它自己和nan); 得到inf时就查看是否有溢出或者除以0; 头文件中,有定义的常量DBL_MAX,这个常量表示...参考资料: C语言 inf和nan(http://blog.sina.com.cn/s/blog_8b745a5f01014ifk.html) 20.5.2 Infinity and NaN(http

    3.4K30

    JavaWeb02-CSS,JS(Java真正的全栈开发)

    如果运算数都是boolean类型,和java一样。...算术运算符 +-*/% 与java基本相同 加法特殊行为 某个运算数是 NaN,那么结果为 NaN。 -Infinity 加 -Infinity,结果为 -Infinity。...减法特殊行为 某个运算数是 NaN,那么结果为 NaN。 -Infinity 减 Infinity,结果为 NaN。 -Infinity 减 -Infinity,结果为 NaN。...如果某个运算数是 NaN,结果为 NaN。 Infinity 被 Infinity 除,结果为 NaN。 Infinity 被任何数字除,结果为 Infinity。...== iNum);//输出 "true" 条件运算符(三目运算符) 和java中相同 赋值运算符 = += -= *= /=等和java中相同 逗号运算符 用逗号运算符可以在一条语句中执行多个运算

    2.6K150

    【原创】JavaScript中的数据类型以及数据类型的转换

    大基本数据类型: 数值型:number 布尔型:boolean 字符串型: string null类型:null undefined类型:undefined JavaScript中数值型的分类: 整数型、小数、Infinity...(无穷大)、 -Infinity和NaN Infinity的出现情况: Java中除法运算中,分母不能为零,而在JavaScript中分母可以为零,相除的结果为Infinity。...NaN出现的情况: NaN指:Not a Number,当将非数值型的其他类型转换为数值型时则会出现NaN JavaScript中判断是否为NaN可以使用函数"isNaN()" 将其他类型转换为数值型...Java中将用双引号包裹的是字符串型(String),引用数据类型。单引号包裹的是字符型(char),基本数据类型。...转换结果为undefiend 将其他数据类型转换为布尔型(使用函数Boolean();) 将数值中的0,NaN和null,undefined,字符串""转换为布尔类型为false,其他转换均为true

    1.3K30

    JavaScript面向对象编程指南 第一、二章知识点整理

    类:在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称 "实例")共有的属性和方法 JavaScript与C++或Java这种传统的面向对象语言不同,他实际上压根儿就没有类...2.1.2 数字类型可以储存的数据包括:正负整数、浮点数、十六进制与八进制数、指数以及特殊数值NaN、Infinity、 -Infinity。...2.1.4 布尔类型的值只有两个:true和false。 2.1.5 null类型的值只有一个:null。 2.1.6 undefined类型的值只有一个:undefined。...2.3.2 Infinity Infinity表示的是最大的数,-Infinity表示的是最小的数,任何数除以0结果也为Infinity,不包括0,0除以0得到的是NaN。...正负Infinity做算术运算得到的是NaN,Infinity与其他任何操作数(即数字类型里除了NaN和正负Infinity)执行任何算数运算的结果也都等于Infinity。

    40150

    float double取值范围_double float区别

    Java浮点数 浮点数结构 要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个东西...(3).尾数位(M):0-22位共23位为尾数位,表示小数部分的尾数,即形式为1.M或0.M,至于什么时候是1,什么时候是0,则由指数和尾数共同决定(注意了,这个小数部分最高位并不在这32位里面,只是个隐含信息...,由指数部分和尾数部分共同决定,说白了就是IEEE754这样规定的)。...另外,Java中无穷大表示为: Float.POSITIVE_INFINITY或Double.POSITIVE_INFINITY//表示正无穷大 Float.NEGATIVE_INFINITY或Double.NEGATIVE_INFINITY...//负无穷大 //他们打印的结果:+/-Infinity float f1 = (float)Math.pow(2,128);//指数>=128的,打印结果:Infinity //上面要加(float)

    1.9K10

    Javascript中的基本数据类型

    object undefine派生自null, null == undefined 为true, null === undefined为false Boolean true false 区分大小写 空字符串、0和NaN...支持的正的最小数值,Number.MAX_VALUE表示Javascript支持的最大数值 超出最大数值就会被转化为Infinity,如果为负值则会被转化为-Infinity isFinite()函数可以判断一个数值是否在支持的范围之内...NaN表示本来该返回数值的操作数未返回数值的情况,如除以0就会返回NaN NaN的数值运算会返回NaN NaN == NaN 为false isNaN()函数可以判断一个数值是不是NaN Number...()与parseInt()类似,但有如下区别: parseFloat不能传入第二个参数(进制),不能解析十六进制字符串 String 字符串一旦创建,其值不能改变,如:var lang = 'Java...'; lang += 'Script'; 会重新创建一个字符串,填充上'JavaScript', 'Java'和'Script'都将被销毁 除了null和undefined之外,其他的几个数据类型都有toString

    62950
    领券