隐式转换之字符串和数值比较

1.字符串和数值比较,这种数值字符串会隐式转换为数值类型然后比较

var aa='6';
console.log(aa<8); // 输出为true 

2.如果aa带有其他字符

var aa='6元';
console.log(aa<8); // 输出为false,不报错

3.如果给aa转换成数值类型为NaN

var aa='6元';
console.log(Number(aa)); // 输出为NaN 

4.如果数值和NaN比较

var aa='6元';
console.log(aa<NaN); // 输出为false,不报错

5.带数值字符和NaN、null、undefined比较

var aa='6元';
console.log(aa>NaN); // 输出为false 
console.log(aa>undefined); // 输出为false 
console.log(aa>null); // 输出为true

6.数值和NaN、null、undefined比较

var aa='6';
console.log(aa>NaN); // 输出为false 
console.log(aa>undefined); // 输出为false 
console.log(aa>null); // 输出为true 

7.纯字符串比较

var aa='2';
console.log('2'<'15'); // 输出为false,原因是字符串在比较的时候会先比较第一位,第一位相同在比较第二位
总结:
①可见在字符串和数值字符串比较的时候,数值字符串会尝试隐式转换为数值类型然后在进行比较,当转为NaN的时候,任何数和NaN以及undefined比较都为false,但是数值和null,都为true
②纯字符串比较的时候,会从第一位开始比较,如果第一位相同则进行第二位比较

转载于:https://www.cnblogs.com/bonly-ge/p/9261653.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值