JS字符串比较大小 博客分类: 笔记随笔教学笔录JS学生提问 笔记随笔教学笔录JS学生提问
程序员文章站
2024-02-09 11:11:40
...
【前言】
本文简单概括下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
.
上一篇: codeigniter中测试通过的分页类示例_PHP教程
下一篇: Nginx+Php