zoukankan      html  css  js  c++  java
  • 【javascript】undefined null 0 false void(0) NaN 空字符串 比较

    1.通过代码实现比较功能:

    $(document).ready(function(){
         var a; //undefined
         var b = undefined;
         var c = null;
         var d = 0;
         var e = false;
         var f = "";
         var g = void (0);
         var h = NaN;
    
         var index = [a,b,c,d,e,f,g,h];
         var name = ['空' , 'undefined' , 'null' , '0' , 'false' , '空字符串' , 'void(0)','NaN'];
         for(var i=0;i<index.length;i++){
             document.write(name[i]+"=" +!!index[i]);
             document.write("<br>");
         }
         document.write("<hr>");
        for(var i=0;i<name.length;i++){
            for(var j=i+1;j<name.length;j++){
            if((i+1)==name.length)break;
            document.write(name[i]+"==" + name[j] + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + (index[i]==index[j]));
             document.write("<br>");
             }
        }
        document.write("<hr>");
        for(var i=0;i<name.length;i++){
            for(var j=i+1;j<name.length;j++){
                if((i+1)==name.length)break;
                document.write(name[i]+"===" + name[j] + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + (index[i]===index[j]));
                document.write("<br>");
            }
        }
    });

    2.结果如下:

    空=false
    undefined=false
    null=false
    0=false
    false=false
    空字符串=false
    void(0)=false
    NaN=false

    ==undefined true==null true==0 false==false false==空字符串 false==void(0) true==NaN false undefined==null true undefined==0 false undefined==false false undefined==空字符串 false undefined==void(0) true undefined==NaN false null==0 false null==false false null==空字符串 false null==void(0) true null==NaN false 0==false true 0==空字符串 true 0==void(0) false 0==NaN false false==空字符串 true false==void(0) false false==NaN false 空字符串==void(0) false 空字符串==NaN false void(0)==NaN false

    ===undefined true===null false===0 false===false false===空字符串 false===void(0) true===NaN false undefined===null false undefined===0 false undefined===false false undefined===空字符串 false undefined===void(0) true undefined===NaN false null===0 false null===false false null===空字符串 false null===void(0) false null===NaN false 0===false false 0===空字符串 false 0===void(0) false 0===NaN false false===空字符串 false false===void(0) false false===NaN false 空字符串===void(0) false 空字符串===NaN false void(0)===NaN false

     我们发现一个问题:为什么NaN的比较没有结果呢,那么再开一个专题:

    为什么 NaN 不等于自己?

  • 相关阅读:
    1-27 awk 基本使用
    计算机网络(一)带宽
    CRC检错技术原理
    Wireshark漫谈(一)
    SQL字符串拼接
    MySQL学习笔记(二)
    MySQL学习笔记(一)
    Java 反射机制(二)
    Java 反射机制(一)
    Windows使用MySQL数据库管理系统中文乱码问题
  • 原文地址:https://www.cnblogs.com/Horsonce/p/7682356.html
Copyright © 2011-2022 走看看