比较运算符

比较运算符

比较运算符常见问题
比较运算符结果一定是布尔值(true false)

  1. 两侧都是纯数字比较
  2. 纯数字字符串,布尔值,null参与运算,会进行隐式转换
  3. 等于,在判断两边关系时,尽可能让两侧相等,只判断数值不判断类型,null比较特殊,在参数=时不隐式转换为0。
console.log(123 == "123");
console.log(true == 1);
console.log(null == 0);
console.log(null === 0);
console.log(null <= 0);
结果: true true false false true
  1. !=不等于,在判断!=关系时,不要直接判断,而是看对立面==,如果为真那么!=一定为假;如果为假那么!=一定为真。同样!==也是一样
console.log(null != 0)
结果: true
  1. ===全等于,在判断两边关系时,尽可能让两边不相等。不但判断数值还判断数据类型是否相同。
console.log(123 === "123");
console.log(1 === true);
console.log(0 === null);
console.log(0 !== null)
结果:false false false true

小测试:

判断 3>2>1 的结果
比较运算符的顺序从左向右,先比较3>2结果为true,true>1比较,true会隐式转换为1,所以1>1结果为false
  1. NaN和infinity不会发生隐式转换
console.log(infinity == infinity);
console.log(infinity >= 10);
console.log(NaN >= NaN);
结果:true true false
结论:记住NaN不是一个数,所以比较==都是false
  1. 如果两侧都是字符串参与,不是比较字符串的长短,而是比较每一个字符Unicode编码。编码顺序越靠后越大数字(0-9)、大写字母(A-Z)、小写字母(a-z)。依次比较字符编码,如果第一位相同再比较第二位。
console.log("21" > "4");
console.log("21" <= "a");
console.log("A" <= "a");
console.log("gas" <= "gab");
结果: false true true false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值