Web JavaScript中 null 与 undefined 的差异

Web JavaScript中 null 与 undefined 的区别
  • null
  1. 是javascript的关键字
  2. 是Object类型,但是常被分为一个单独的类型
  3. 表示没有值
  • undefined
  1. 也表示没有值,但是是更深层次的,或者说是系统级别的
  2. 不是类型,是预先定义好的全局变量
  3. 类型是undefined
  • undefined主要出现在
  1.  变量已定义,但是为初始化
  2.  函数被调用时未传递的定义的参数
  3. 一个对象下不存在的属性
  4. 不存在的数组元素
  5. 没有返回值的函数
  • 他们的异同与关系
  1. 都代表没有值
  2. 大多数时候可以互换
  3. 等式 null == undefined 返回true
  4. 但是 null !== undefined 返回true 
  5. 大多数时候使用undefined定义系统级别的未预期的值不存在的错误
  6. null使用在程序级别一般或预期到的值不存在的情况,比如我们可以使用null来初始化变量: var testVar = null; 也就是说当你在编程时需要表示某一个变量没有值则使用null ,undefined一般由系统返回。