JS字符串比较大小

73 篇文章 0 订阅
63 篇文章 0 订阅

【前言】

      本文简单概括下JS中字符串比较大小的注意事项

 

【主体】

      (1)大于(>),小于(<)运算符

            JS字符串在进行大于(小于)比较时,会根据第一个不同的字符的ASCII值码进行比较,情况分为多种

            ①当数字跟字符串进行数学运算时(不光是>,<,=,还包括+-*/等运算),会把字符串转换成数字

            ②如果字符串是数字的形式,转换成数字后就直接根据数字大小进行比较

            ③如果字符串不是不是数字形式,不管是'a'还是'100a'这样的形式,在转换时都转成了NaN,而NaN跟数字比较大小时,只会返回false。例如console.log(19<'ssf'),同样输出false。

            ④NaN跟数字进行四则运算时,则是返回NaN

    

      (2)相等(==),严格相等(===)运算符

            在进行相等(==)运算比较时,如果一边是字符,一边是数字,会先将字符串转换成数字再进行比较;严格相等(===)则不会进行类型转换,会比较类型是否相等。注NaN与任何值比较时都是false。

   console.log('6'==6) // true
   console.log('6'===6) // false
   console.log(6===6) // true
   console.log('abc'==2) // false
   console.log('abc'=='abc') // true
   console.log('abc'==='abc') // true

 

       (3)一些特殊值的相等与严格相等比较

    console.log(null==undefined) // 输出:true
    console.log(null===undefined) // 输出:false
    console.log(null===null) // 输出:true
    console.log(undefined===undefined) // 输出:true
    console.log(NaN==undefined) // 输出:false
    console.log(NaN==null)  // 输出:false
    console.log(NaN==NaN)  // 输出:false
    console.log(NaN===NaN)  // 输出:false

 

.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值