zoukankan      html  css  js  c++  java
  • 判断 undefined and ( == null) and (!something) and ( == null)

    1、判断 undefined

    var a = '',
        b = ' ', 
        c = undefined ,
        d = null ,
        e = 1 ,
        f = false ,
        g = 0 ,
        h = "0";
        
        if(a === void 0){
          console.log("come in");
        }else{
          console.log("not in here");
        }
        
        //a  print: not in here
        //b  print: not in here
        //c  print: come in
        //d  print: not in here
        //e  print: not in here
        //f  print: not in here
        //g  print: not in here
        //h  print: not in here
     

    2、判断 (!something)

    var exp = null ,
        und = undefined ,
        no = '' ,
        space = ' ',
        fal = false ,
        zero = 0;
        if (!exp)
        {
            console.log("is null or nudefined or '' or false or 0");
        }else{
            console.log("is something");
        }
        
        //exp    print: is null or nudefined or '' or false or 0
        //und    print: is null or nudefined or '' or false or 0
        //no     print: is null or nudefined or '' or false or 0
        //space  print: is something
        //fal    print: is null or nudefined or '' or false or 0
        //zero   print: is null or nudefined or '' or false or 0

    如果判断条件为 undefined,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。 注意:要同时判断 null、undefined、数字零、false 时可使用本法。

        javascript中以下值会被转换为false
    • false
    • undefined
    • null
    • 0
    • -0
    • NaN
    • ""

     

    3、判断 ( == null)

    var exp = null ,
        und = undefined ,
        no = '' ,
        space = ' ',
        fal = false ,
        zero = 0;
        if (zero == null)
        {
            console.log("is null");
        }else{
            console.log("here is another");
        }
        
        //exp    print: is null
        //und    print: is null
        //no     print: here is another
        //space  print: here is another
        //fal    print: here is another
        //zero   print: here is another

    判断条件为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。 注意:要同时判断 null 和 undefined 时可使用本法。

     

    4、判断( == null) 方法1

    var exp = null ,
        und = undefined ,
        undStr = 'undefined' ,
        no = '' ,
        space = ' ',
        fal = false ,
        zero = 0;
        
        if (!undStr && typeof undStr != "undefined" && undStr != 0)
        {
            console.log("is null");
        }else{
            console.log("is not null")
        }
        
        //exp       print: is null
        //und       print: is not null
        //undStr    print: is not null
        //no        print: is not null
        //space     print: is not null
        //fal       print: is not null
        //zero      print: is not null

    typeof exp != "undefined" 排除了 undefined; exp != 0 排除了数字零和 false。

     

    5、判断null 方法2

    var exp = null ,
        und = undefined ,
        no = '' ,
        space = ' ',
        fal = false ,
        zero = 0;
        if (exp === null)
        {
            console.log("is null");
        }else{
            console.log("is not null")
        }
        
        //exp       print: is null
        //und       print: is not null
        //no        print: is not null
        //space     print: is not null
        //fal       print: is not null
        //zero      print: is not null

    尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。

  • 相关阅读:
    应用 memcached 提升站点性能
    Servlet 工作原理解析
    AJAX的一些基础和AJAX的状态
    回调地狱以及用promise怎么解决回调地狱
    Ajax的封装
    promise的理解和应用
    jsonp跨域
    浅谈事件冒泡和事件捕获
    JS中的兼容问题总结
    JS写的二级导航栏(利用冒泡原理)
  • 原文地址:https://www.cnblogs.com/xmyun/p/6727795.html
Copyright © 2011-2022 走看看