JavaScript null和undefined的区别 区分JS中的undefined,null,"",0和false

null:用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象(引用为空)。

undefined:当声明的变量还未初始化时,变量的默认值为undefined(只是定义了引用)。

var a;
console.log(a == undefined) //true

null和undefined的区别

  • null he undefined 都只有一个值
  • typeof null 为 object
  • typeof undefined 为 undefined
  • null == undefined 为true (因为undefined是null派生出来的)
  • null === undefined 为false (因为值相同类型不同)

可以用null和undefined来清除属性

区分JS中的undefined,null,"",0和false

alert(0 == ''); //true
alert(0 == false); //true
alert(false == ''); //true
alert(null == undefined); //true

alert(!0); //true
alert(!false); //true
alert(!undefined); //true
alert(!null); //true
alert(!''); //true

alert(0 == undefined); //false
alert(0 == null); //false
alert(false == null); //false
alert(false == undefined);//false
alert('' == null); //false
alert('' == undefined); //false

在js做比较的时候,有这样的三条规则:

  • 如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1
  • 如果比较的双方中有一方为number一方为string,会把string转换为数字
  • 把string直接转换为bool的时候,空字符串‘'转换为 false,除此外的一切字符串转换为 true
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值