null与undefined都表示“无”的意思,null是一个对象,且用数字判断的话为0。而undefined表示无原始值,类型未定义(undefined),数字为NaN
typeof(null) //object
Number(null) // 0
typeof(undefined) //undefined
Number(undefined) // NaN
-
undefined出现的各种情况
// 1. 已声明,未赋值 let i; console.log(i); // undefined // 2.对象的属性不存在时 let obj = {}; console.log(obj.a); // undefined // 3.函数调用时,未传参 function fn(a,b){ console.log(a,b); } fn(123) // undefined // 4.函数的默认返回值为undefined(构造函数除外) function fn2(){ console.log("巴拉巴拉..."); // 没有主动return值 } console.log(fn2()); // undefined
-
null
// 1. 手动释放内存 let obj = {} obj = null // 2.作为函数的参数,表示此参数不是对象 // 3.原型链的顶端