JS中undefined类型和null类型

ES5中有5中基本数据类型:undefined、null、boolean、number、string和一种复杂数据类型object。

其中undefined和null类型相对特殊。

一、undefined

在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined,例如:

var message;
alert(message == undefined);  //true

但是,包含undefined值的变量与尚未定义的变量还是不一样的。例:

var message;   //这个变量声明之后默认取得了undefined值
//  下面这个变量没有声明
//  var age
alert(message);    //"undefined"
alert(age);     //产生错误

困惑的是:对未初始化和未声明的变量执行typeof操作符都返回undefined值。这样返回的合理性在于:无论哪种变量都不能执行真正的操作。

var message;   //这个变量声明之后默认取得了undefined值
//  下面这个变量没有声明
//  var age
alert(typeof message);    //"undefined"
alert(typeof age);     //"undefined"

二、null

从逻辑角度,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值时会返回"object"的原因。

如果定义的变量准备在将来用于保存对象,应该将该变量初始化为null。


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值