undefined表示的是缺少值,常见输出undefined的情况有以下几种:
//1.变量被声明,但是没有赋值
var num;
console.log(num);//undefined
//2.执行count时,没有传入参数
function count(num){
console.log(num);//undefined
}
count();
//3.声明对象,获取对象没有赋值的属性
var obj=new Object();
console.log(obj);//{}
console.log(obj.num);//undefined
//4.获取一个没有返回值得方法
function count(){
}
console.log(count());//undefined
null表示的是对象为空,常用作作为空值传递,或者原型链最终返回的结果:
//1.原型链查找到最终返回的值
var value=Object.getPrototypeOf(Object.prototype);
console.log(value);
null和undefined俩者之间的区别和联系:
//1.数据类型比较 undefined属于undefined,null是object类型
console.log(typeof(undefined));//undefined
console.log(typeof(null));//object
//2.undefined是null派生出来得
console.log(null==undefined);//true
console.log(null===undefined);//false 数据类型不同
//3.转为数值比较 undefined对应数值中的NaN,null对应0
console.log(Number(undefined));//NaN
console.log(Number(null));//0