两种数值类型不同,null是obejct,undefined就是undefined。
使用number进行转化,null是零,undefined是nan。本质上null就是不存在,没有开辟内存。undefined是开辟了内存,但是没有放入数值
数值类型
console.log(typeof null);//object 数字来看是零
console.log(typeof undefined);//undefined 数字来看是nan
undefined的使用4种情况
// undefined的情况
//1, 如果是声明,但没有赋值,则报错a is not defined
let a;
console.log(a); //undefined
//2, 对象的内容
let arr=[]
console.log(arr.name);//undefined
// 3,调用函数缺少参数
function fun(a1,a2){
console.log(a2);
}
fun(2)//undefined
// 4,函数没有设置默认返回值
function fun1(){
let a=1
}
console.log(fun1());//undefined
null
// null
// 1,手动释放内存
let object={}
object=null
// 2,作为函数的参数(不是对象)
// 3,原型链的顶端