• 【JS】JavaScript中Null和undefind区别


    1、undefined:只有一个值,及特殊的undefined。在使用var声明变量但未对其初始化时,这个变量的值是undefined,简言之,undefined就是表示变量申明了但未初始化时的值。

      注意:尚未声明的值直接alert其值会报错而不是显示undefined;但是如果一个申明了未赋值的变量与未声明的变量所显示的typeof结果是一样的--->undefined

    1 <script type="text/javascript">
    2 
    3 var str;
    4 
    5 alert(typeof str);//undefined
    6 
    7 alert(typeof message);//undefined
    8 
    9 </script>

    2、undefined在参与数值运算时一定是NAN,在与字符串拼接相加时则直接显示undefined;

    1 <script type="text/javascript">
    2 
    3 var b;
    4 
    5 alert(b+3);//输出 NAN
    6 
    7 alert(b+'3');//输出 undefined3
    8 
    9 </script>

    3、null:示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。也就是说 null是相对于对象而言的,所以typeof(null) 为object。

      null在参与数值计算时其值自动转换为0,而进行字符串相加拼接时会以字符串“null”的方式显示;

     1 <script type="text/javascript">
     2  
     3 var a=null;
     4  
     5 alert(null+3+5);//8
     6  
     7 alert(null+'hello');//nullhello
     8  
     9 alert(null+3+'hello');//3hello
    10  
    11 alert(null+'hello'+3);//nullhello3
    12  
    13 </script>

     4、如何区分?

    1 alert(typeof null == typeof undefined);//false
    2 
    3 alert(null === undefined);//false
    4 
    5 alert(null == undefined);//true
  • 相关阅读:
    关于Windows版本的redis启动报错:Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
    03 验证线程是数据共享的
    01 线程的两种创建方式
    33 线程的创建 验证线程之间数据共享 守护线程
    10 进程池的回调函数
    09 进程池的异步方法
    07 进程池的同步方法和异步方法
    08 进程池同步方法
    05 进程池map方法
    06 测试多进程的时间
  • 原文地址:https://www.cnblogs.com/willingtolove/p/7413824.html
Copyright © 2020-2023  润新知