Null与Undefined的区别
JavaScript
中存在这样两种原始类型:Null
与Undefined
Undefined
类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。Null
类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
//null和undefined转换成number数据类型 undefined是NaN,null是0
console.log(Number(undefined)); //NaN
console.log(Number(null)); //0
console.log(typeof undefined); //"undefined"
console.log(typeof null); //"object"
console.log(null==undefined); //true 因为两者都默认转换成了false
console.log(null===undefined); //false "==="表示绝对相等,null和undefined类型是不一样的,所以
-
null
表示没有对象,即该处不应该有值1) 作为函数的参数,表示该函数的参数不是对象
2) 作为对象原型链的终点
-
undefined
表示缺少值,即此处应该有值,但没有定义1)定义了形参,没有传实参,显示undefined
2)对象属性名不存在时,显示undefined
3)函数没有写返回值,即没有写return,拿到的是undefined
4)写了return,但没有赋值,拿到的是undefined