zoukankan      html  css  js  c++  java
  • 关于NaN

    NaN,即非数值(Not a Number)是一个特殊的值。用于判断是不是number类型

    可以通过Number.NaN得到NaN值,任何与NaN进行运算的结果均为NaN,NaN与自身不相等(NaN不与任何值相等)。

    alert(Number.NaN); //NaN

    alert(NaN+1); //NaN

    alert(NaN == NaN) //false

    判断方法isNaN()

    用来判断这个值到底是不是NaN。isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值。

    alert(isNaN(NaN)); //true

    alert(isNaN(25)); //false,25是一个数值

    alert(isNaN('25')); //false,'25'是一个字符串数值,可以转成数值

    alert(isNaN('Lee')); //true,'Lee'不能转换为数值

    alert(isNaN(true)); //false true可以转成成1

    isNaN()函数也适用于对象。在调用isNaN()函数过程中,首先会调用valueOf()方法,然后确定返回值是否能够转换成数值。如果不能,则基于这个返回值再调用toString()方法,再测试返回值。

    var box = {

    toString : function () {

    return '123'; //可以改成return 'Lee'查看效果

    }

    };

    alert(isNaN(box)); //false

    有3个函数可以把非数值转换为数值:Number()、parseInt()和parseFloat()。Number()函数是转型函数,可以用于任何数据类型,而另外两个则专门用于把字符串转成数值。

    alert(Number(true)); //1,Boolean类型的true和false分别转换成1和0

    alert(Number(25)); //25,数值型直接返回

    alert(Number(null)); //0,空对象返回0

    alert(Number(undefined)); //NaN,undefined返回NaN

  • 相关阅读:
    PHP form 表单传参明细研究
    php返回数据库查询时出现Resource id #2
    AJAX避免服务器调用上个页面缓存的办法
    错误提示sudo: no tty present and no askpass program specified Sorry, try again.
    lua创建文件和文件夹
    ngx.lua中遇到的小问题2
    [Puzzle] 蚂蚁路线碰撞问题
    [问题记录] 操作符连写
    [工具] XMind
    Qt Creator快捷键
  • 原文地址:https://www.cnblogs.com/sunnychen/p/6160248.html
Copyright © 2011-2022 走看看