JavaScript中,null通过typeof结果是“object”,undefined通过typeof结果是undefined这个值是这个类型的唯一成员。null和undefined中都是表示值的空缺,不过两者当做布尔值时都是false,通过==的时候都是相等的,但是null和undefined分别和字符串,数字,布尔值相比时,则比较结果都是false。
Null和Undefined区别
JavaScript取值为null的情况有两种:
//获取不到元素
1.var notExist= document.getElementById('notExist');//null
//原型链的终点,也是返回null的
2.Object.getPrototypeOf(Object.prototype)//null
undefined的情况如下:
①变量声明,未赋值;
var a;//undefined
②查询对象的属性或数组元素的值不存在时,返回undefined;
var arr=[1,2,3];//博客园-FlyElephant
console.log(arr[5]);//undefined
③函数没有任何返回值的时候返回undefined:
function f(){};console.log(f());//undefined
④引用没有提供实参的函数形参的值会得到undefined:
function f(x){console.log(x);}f();//undefined