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) 

  • 相关阅读:
    浏览器内核中各个线程之间的关系
    Browser进程和浏览器内核(Renderer进程)的通信过程
    babel 的一些记录
    mac nvm install
    小程序云开发补充
    JavaScript 导学推荐
    网页切片
    初探响应式Web设计
    WEB ICON 的探讨
    [转载]CSS 创作指南(Beta)(css规范)
  • 原文地址:https://www.cnblogs.com/gateluck/p/1121784.html
Copyright © 2011-2022 走看看