js null,'0','unfined'

本文探讨了JavaScript中五种特殊值(undefined, null, 空字符串, 0, false)的特点及其在条件判断中的行为,并通过示例介绍了如何使用双重否定(!!)进行值的有效性检查。

首先

    typeof(undefined) == 'undefined'
 
typeof(null== 'object'
 
typeof(""== 'string'
 
typeof(0== 'number'
 
typeof(false== 'boolean'

这五个值的共同点是,在if语句中做判断,都会执行false分支。当然从广义上来看,是说明这些数值都是其对应数据类型上的无效值或空值。还有这五个值作!运算,结果全为:true

然后

var o={flag:true}; 
var test=!!o.flag;//等效于var test=o.flag||false; 不为空则为false
alert(test);

由于对null与undefined用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于,如果明确设置了o中flag的值(非 null/undefined/0""/等值),自然test就会取跟o.flag一样的值;如果没有设置,test就会默认为false,而不是 null或undefined。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值