zoukankan      html  css  js  c++  java
  • js中undefined,null,NaN的区别

    1.类型分析:

    js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型。
    var a1;
    var a2 = true;
    var a3 = 1;
    var a4 = "Hello";
    var a5 = new Object();
    var a6 = null;
    var a7 = NaN;
    var a8 = undefined;

    alert(typeof a);   //显示"undefined"
    alert(typeof a1);  //显示"undefined"
    alert(typeof a2);  //显示"boolean"
    alert(typeof a3);  //显示"number"
    alert(typeof a4);  //显示"string"
    alert(typeof a5);  //显示"object"
    alert(typeof a6);  //显示"object"
    alert(typeof a7);  //显示"number"
    alert(typeof a8);  //显示"undefined"

    从上面的代码中可以看出未定义的值和定义未赋值的为undefined,null是一种特殊的object,NaN是一种特殊的number。

    2.比较运算

    var a1;        //a1的值为undefined
    var a2 = null;
    var a3 = NaN;

    alert(a1 == a2); //显示"true"
    alert(a1 != a2); //显示"false"

    alert(a1 == a3); //显示"false"
    alert(a1 != a3); //显示"true"

    alert(a2 == a3); //显示"false"
    alert(a2 != a3); //显示"true"

    alert(a3 == a3); //显示"false"
    alert(a3 != a3); //显示"true"

    从上面的代码可以得出结论:(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。

     -------------------------------------------------

    类型比较

    iif (typeof Ajax == "undefined") Ajax = {};

    if(array.constructor== Array)

    if(array instanceof Array) 

  • 相关阅读:
    Flexbox 可视化属性
    latex 数学公式
    迭代器模式 rx 应用
    小程序开发 easy-less 配置
    react-devtool 消息处理渲染 源码理解
    csrf jsonp
    koa1 源码详解1
    Immutable api example
    es6 ajax
    lodash 替换 underscore
  • 原文地址:https://www.cnblogs.com/gateluck/p/1121784.html
Copyright © 2011-2022 走看看