null和undefined的一些区别

本文探讨了JavaScript中null与undefined的区别与联系。从定义、用法及类型转换等方面进行了详细解析,并给出了实用建议。

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

读了阮一峰的博客,自己总结一下,便记录一篇博客

在javacript的基本类型中,有2种基本类型,只有1个值,便是null和undefined,都表示的是“无”。在一定程度上是相等的,如:

但又不完全相等:

同时,在if的判断条件中也是一致的:

if(null)跟if(undefined)是同样的结果。

从定义上来看:

undefined表示变量声明但未初始化时的值。

null表示准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针。

我们可以用typeof来检测一下上述定义:

记得《JS高程》中提过:任何时候都不建议显式的设置一个变量为undefined,但是如果保存对象的变量还没有真正保存对象,应该设置成null。也就是不建议这么写var a = undefined;

从用法上来看:

null的性质决定着它的以下用法:

1、作为函数的参数,表示该函数的参数不是对象。

  function a(null){}

2、在JS中,万物皆对象,每个对象都有一个原型链,而null就作为对象原型链的终点。

undefined表示"缺少值",就是此处应该有一个值,但是还没有定义,有以下几点用法:

另外,2者在进行强制类型装换时,是有差别的:

结果如下:

 

转载于:https://www.cnblogs.com/wuzhiquan/p/5999526.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值