Javascript之undefined和null

undefined和null的关系如下

  • undefined表示某个变量不存在或者没有为其分配值,null表示某个变量有值,其值为null(空)
  • undefined从某种意义上和null是相等的,undefined==null返回的是true
  • 变量和undefined和null比较我们使用===(精确等),这样就能区分两者的微妙差别

main.js

function Person() {
  this.age = 0;
  this.name = "joy";
  this.sex = null;
}

var lisa = new Person();
if(lisa.sex == undefined){
  console.log("lisa.sex的值与undefined相等");
}
if (lisa.sex === undefined) {
  console.log("lisa.sex的值与undefined精确等");
}else {
  console.log("lisa.sex的值与undefined不精确等");
}
if (lisa.sex === null) {
  console.log("lisa.sex的值与null精确等");
}else {
  console.log("lisa.sex的值与null不精确等");
}

if (lisa.boy === undefined) {
  console.log("lisa.boy的值与undefined精确等");
}else {
  console.log("lisa.boy的值与undefined不精确等");
}
if (lisa.boy === null) {
  console.log("lisa.boy的值与null精确等");
}else {
  console.log("lisa.boy的值与null不精确等");
}

if (undefined == null) {
  console.log("undefined与null相等");
}
if (undefined === null) {
  console.log("undefined与null精确等");
}else {
  console.log("undefined与null不精确等");
}

输出结果如下

lisa.sex的值与undefined相等
lisa.sex的值与undefined不精确等
lisa.sex的值与null精确等
lisa.boy的值与undefined精确等
lisa.boy的值与null不精确等
undefinednull相等
undefinednull不精确等

注意:定义一个变量之后,如果没有为该变量赋值,该变量的值就为undefined,这是系统默认分配的。undefined关键字是在ECMAScript标准化后加入,有些浏览器还不支持,可以在javascript的开头加入一行定义 var undefined;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值