zoukankan      html  css  js  c++  java
  • null和undefined的一些区别

    读了阮一峰的博客,自己总结一下,便记录一篇博客

    在javacript的基本类型中,有2种基本类型,只有1个值,便是null和undefined,都表示的是“无”。在一定程度上是相等的,如:

    但又不完全相等:

    同时,在if的判断条件中也是一致的:

    if(null)跟if(undefined)是同样的结果。

    从定义上来看:

    undefined表示变量声明但未初始化时的值。

    null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。

    我们可以用typeof来检测一下上述定义:

    记得《JS高程》中提过:任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。也就是不建议这么写var a = undefined;

    从用法上来看:

    null的性质决定着它的以下用法:

    1、作为函数的参数,表示该函数的参数不是对象。

      function a(null){}

    2、在JS中,万物皆对象,每个对象都有一个原型链,而null就作为对象原型链的终点。

    undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,有以下几点用法:

    另外,2者在进行强制类型装换时,是有差别的:

    结果如下:

  • 相关阅读:
    MYSQL架构和Innodb存储引擎
    MySQL基础
    ConcurrentHashMap
    线程池
    并发包(JUC)之阻塞队列
    并发包(JUC)之Condition、CountDownLatch
    并发包(JUC)之Lock和AQS
    volatile关键字——数据可见性问题
    对象锁——synchronized关键字
    获取ip
  • 原文地址:https://www.cnblogs.com/wuzhiquan/p/5999526.html
Copyright © 2011-2022 走看看