字符串(String)比较大小规则(2)】

字符串(String)比较大小规则(2)】本文详细解析了 JavaScript 中字符串比较的规则 包括数字与数字 字符串与字符串 字符串与数字之间的比较 以及相等与全等的判断

大家好,欢迎来到IT知识分享网。


前端学习笔记——JavaScript篇


在这里插入图片描述


字符串(String)比较大小规则(2)】

1. 先插播点铺垫——比较运算符你了解多少?
比较运算符:
➢ > : 左边是否大于右边;
➢ <: 左边是否小于右边;
➢ >=: 左边是否大于或等于右边;
➢ <=: 左边是否小于或等于右边;
➢ ==: 左右两边是否相等;
➢ ===: 左右两边是否类型和值都相等;
➢ !==: 左右两边是否不全等;
➢ 比较结果为boolean(布尔)类型,即只会得到true或false;








2.结合实际代码分下面几种情况(不足望指点)

(1)最简单的数字类型与数字类型之间比较;

 console.log(5 > 1) // 结果为ture console.log(2 > 8) //结果为true 

这个没有什么好说的,谁大谁小一眼而定

(2)字符串类型与字符串类型之间比较

console.log('abc' < 'abcd') //结果为true console.log('abc' > 'ad') //结果为false console.log('abc' < 'abc123') //结果为true console.log('e' > 'abcdefg') //结果为true console.log('2'>'11') //结果为true console.log('50'>'6') //结果为false 

相同都是字符串类型情况下比较的具体方法已经在(1)中说明;此处我想着重强调一下,字符串之间的大小比较,与长度没有直接关系,就好比第四行代码,两个字符串在比较时,第一位字符,e > a (ascll 值)那么直接得出结果,前者大。而后者的“bcdefg”根本就不用看。

console.log('5'.charCodeAt()) //53 console.log('6'.charCodeAt()) //54 

针对上述字符串数字的比较大小问题结合实际学习开放中,注意转换数据类型
避免:出现明明需要比较的数字大小,变成了字符串大小。

重点说一下,字符串比较中的空(null)与 空格(space)

 // 比较空null与空格 // console.log('' < ' ') let a = '' //空 let b = ' ' //空格 console.log(a < b) //结果为true console.log(typeof a) //string console.log(typeof b) //string 

在这里插入图片描述
在这里插入图片描述
点击查看ASCll表

空的ASCll值为0,空格为32,两者是有区别的,具体也可以验证,如下转换代码

console.log(''.charCodeAt()) //空 转换为ASCll值 console.log(' '.charCodeAt()) //空格转换为ASCll值 
 console.log(String.fromCharCode(97)) //保证代码的正常性用97 也就是a 做对比 console.log(String.fromCharCode(0)) console.log(String.fromCharCode(65)) //保证代码的正常性用65 也就是A 做对比 
 console.log(3 < '24') //结果为true console.log(40 < 'd') //结果为false console.log(40 > 'd') //结果为false 

第一种情况:当遇到 console.log(3 < ‘24’),类似于这种数字类型与字符串类型的数字相比较,那么此时隐式转换发挥作用,将‘24’变成Number类型再作比较。

注意:这里的变成Number类型就好像经过下面这个显式转换

 console.log(Number('24')) //结果为数字类型的 24 (蓝色字体) 

只是简单的数据类型变化,并不涉及,字符串类型的数据通过ASCll码转换为十进制数值的操作。(千万千万)不要多想,例如:想什么“ ’24’中’2’所对应的ASCll值,与‘4’所对应的ASCll值”。就单纯的把字符串型的24 变成了数字型的24

 console.log(Number('abc123')) //结果为NaN 

在这里插入图片描述

 console.log(NaN == NaN); //结果为false console.log(NaN === NaN); //结果为false console.log(NaN > 5) //结果为false console.log(NaN < 5) //结果为false 

(4)相等与全等的判断

==: 左右两边是否相等;

 // ==:是否相等,只判断数值,不判断数据类型; console.log(5 == '5') //true console.log(5 == 4) //false console.log('4' == '4') //true 

===: 左右两边是否类型和值都相等;

// ===: 判断全等,判断数值,同时判断数据类型  console.log(5 === '5') //false console.log(5 === '4')//false console.log(5 === 4)//false console.log('5' === '5')//true 

!==: 左右两边是否不全等;

 console.log(5 !== 5) //false console.log(5 !== 4)//true console.log('5' !== 4)//true console.log('5' !== 5)//true 

在命运给你安排的时区里,一切都是准时的*




免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118180.html

(0)
上一篇 2025-11-15 09:26
下一篇 2025-11-15 09:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信