js 各类型和bool型比较

假若表达式如下:
var result1 = if(a);
var result2 = a == true;
var result3 = a == false;

则结果为(在node.js 4.4.4 环境下测试):

aresult1result2result3
undefinedfalsefalsefalse
nullfalsefalsefalse
0falsefalsetrue
1truetruefals
2 或 其他数字truefalsefalse
“”falsefalsetrue
{}truefalsefalse
NaNfalsefalsefalse

基本上就是上面这些了,有点恶心,undefined null Nan {} 和 true false 比较 返回的都是 false (亏我之前一直以为一个变量和boolean类型比较结果如果不是true,那么必定就是false。。。大错特错) 1 和true比较 返回true 0 和false 比较返回true “”和false比较 也返回true。。 在项目中 这些小细节在使用的时候一定不能穆棱两可,要清晰的知道。 实在不行,就拿出你的浏览器,或者你安装了node.js环境,直接先测试在编码吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值