美文网首页
javascript中的undefined,null,NaN,f

javascript中的undefined,null,NaN,f

作者: 少年vv | 来源:发表于2016-10-13 23:17 被阅读0次

    false

    var a = false; console.log("a的数据类型为"+ typeof(a));

    输出结果为

    a的数据类型为boolean

    这个很好理解,true和false为布尔值。

    undefined

    var b; console.log("b的数据类型为"+ typeof(b));

    输出结果为

    b的数据类型为undefined

    所以undefined的意思就是未被赋值,声明了一个变量却没赋值时会返回undefined

    NaN

    var c = NaN; console.log("c的数据类型为"+ typeof(c));

    c的数据类型为number

    但是NaN为什么会是number呢?

    看看MDN的介绍

    NaN 是一个全局对象的属性。

    NaN 属性的初始值就是 NaN,和 Number.NaN 的值一样。在现代浏览器中(ES5中), NaN 属性是一个不可配置(non-configurable),不可写(non-writable)的属性。但在ES3中,这个属性的值是可以被更改的,但是也应该避免覆盖。

    在编码很少直接使用到 NaN。通常都是在计算失败时,作为 Math 的某个方法的返回值出现的(例如:Math.sqrt(-1))或者尝试将一个字符串解析成数字但失败了的时候(例如:parseInt("blabla"))。

    可以看出来对-1开平方会返回NaN.再看一个例子
    NaN === NaN; //false
    NaN不等于任何值,连它本身也不等于。我们可以利用这一点去获取数组中的NaN
    return arr !== arr;

    null

    var e = null; console.log("e的数据类型为"+ typeof(e));

    e的数据类型为object

    MDN上这样介绍null.

    值null是一个javascript字面量,表示空值,既没有对象被呈现。它是javascript原始值之一。

    null和undefined的区别:

    typeof null // object typeof undefined // undefined null === undefined // false null == undefined // true (==会强制转换类型)
    附上如何判断null

    JS中如何判断null

    相关文章

      网友评论

          本文标题:javascript中的undefined,null,NaN,f

          本文链接:https://www.haomeiwen.com/subject/mhqgyttx.html