null与undefined均可以表示没有、无的意思,但它们之间仍是有区别。spa
undefined:当var申明变量,可是未初始化时,对象为undefined。code
例如:对象
var animal; console.log(animal); //undefined
同时:blog
var animal; console.log(animal == undefined); //true
null:null是一个特殊的值。console
var animal = null; console.log(animal); //null console.log(animal == null);//true
typeof(返回一个值的数据类型)做用下:class
var animal; console.log(typeof animal); //undefined console.log(typeof undefined); //undefined var pig = null; console.log(typeof pig); //object console.log(typeof null); //object
可见null变量
可是若是这样:object
console.log(undefined == null); //true
Number(非数值转换成数值)做用下数据类型
console.log(Number(null)); //0 console.log(Number(undefined));//NaN
!逻辑非操做im
console.log(!null);//true console.log(!undefined);//true
&&逻辑与操做
var dog; console.log(dog && null);//null console.log(dog && undefined);//undefined var dig = null; console.log(dig && null);//null console.log(dig && undefined);//null var pig = "pig"; console.log(pig && null);//null console.log(pig && undefined);//undefined