JavaScript 之undefined和null的区别

JavaScript学习笔记:

一、数据类型:有6种数据类型(5种简单类型:undefined、null、string、Boolean、number)和一种复杂类型object类型:
  注意: 1. typeof 操作符可以检测字面量的数据类型:typeof 是一个操作符而不是函数,因此 typeof(95) 类似这样的操作中的圆括号尽管可以使用,但不是必需的。
      2. typeof null 操作的结果是object,为什么不是null呢?因为null表示一个空指针对象(空的对象应用),所以返回object对象。
      3. typeof function对象的时候返回的是function,注意function对象也是object对象,但是为什么返回为function对象而不是object对象呢,从技术角度来讲,函数在ECMAScript中是对象,不是一种数据类型。然而,函数也的确有一些特殊的属性,因此通过typeof操作符来区分函数和其它对象是有必要的.
     4. undefined 值是派生自null值得(注意只是值派生,数据类型不是),因此 null==undefined 等于true,但是=== 不是true了(=== 不只是验证值还要验证数据类型)


二、undefined和null的用途区分:
  var obj=null 初始化目的就是为了,先声明一个变量(空对象引用),等以后为这个变量赋值,它的目的就是为了保存对象的引用。
  var obj,在声明一个对象而没有为这个对象初始化的时候 默认类型为undefined。
  最大的区别:就是人为设置为null 目的就是赋值一个空的对象引用,等以后再赋值别的有用对象。

posted @ 2017-07-26 16:21  小坡子~  阅读(199)  评论(0编辑  收藏  举报