JavaScript中null与undefind的区别有哪些?

本文详细对比了JavaScript中undefined与null的不同之处,包括它们的数据类型、代表意义、转换为数字后的结果以及具体应用场景等方面。

1.数据类型不同

JavaScript(ECMAScript标准)里共有5种基本类型:Undefined, Null, Boolean, Number,String和一种复杂类型Object。可以看到null和undefined分属不同的类型,未初始化定义的值用typeof检测出来是"undefined"(字符串),而null值用typeof检测出来是"object"(字符串)。

2.代表意义不同

undefined:undefined是一个特殊值,表示变量已声明但未初始化时的值。

null:null是一个对象,一个准备用来保存对象,还没有真正保存对象的值。从逻辑角度看,null值表示一个空对象指针,即表示一个对象被定义了,但是值为“空值”。

3.转为数字结果不同

null是一个表示“无”的对象,转为数值时为O;

undefined是一个表示“无”的原始值,转为数值为NaN。

4.undefind和null使用场景不同

undefined表示“缺少值”,即此处应该有一个值,但是还没有定义,典型用法是如下。

(1)如果变量声明了,但没有赋值,它就等于undefined 。

(2)当调用函数时,如果没有提供应该提供的参数,该参数就等于undefined 。

(3)如果对象没有赋值,该属性的值为undefined。

(4)当函数没有返回值时,默认返回undefined。

null表示“ 没有对象”,即此处不应该有值,典型用法是如下。

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

(2)作为对象原型链的终点。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值