null 和 undefined 的区别

本文详细对比了JavaScript中null和undefined的相同点,如在if条件判断中的表现和相等运算符的使用。同时深入解析了它们的区别,包括null的含义为空对象、未赋值参数和原型链终点,而undefined则表示缺失值、未定义的形参和函数无返回值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相同点

在JavaScript中,nullundefined 几乎相等
在if语句中nullundefined 都会转为false 两者用相等运算符比较也是相等
console.log(null==undefined);    //true  因为两者都默认转换成了false
console.log(typeof undefined);    //"undefined"  
console.log(typeof null);       //"object"  
console.log(null===undefined);    //false   "==="表示绝对相等,null和undefined类型是不一样的,所以输出“false”

区别

null

null 表示没有对象,可能将来要赋值一个对象,即该处不应该有值

作为函数的参数,表示该函数的参数不是对象
作为对象原型链的终点

undefined

undefined 表示缺少值,即此处应该有值,但没有定义

定义了形参,没有传实参,显示undefined
对象属性名不存在时,显示undefined
函数没有写返回值,即没有写return,拿到的是undefined
写了return,但没有赋值,拿到的是undefined

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值