迅闻网
让更多人看到你

javascript判断字符串相等(js字符串比较)

  javascript判断字符串相等

一般运用双等来判别(==),假如还需要类型相同那么就用三等(===)。
说一下这两个的区别:
==equality同等,===identity恒等。
==,两头值类型不同的时分,要先进行类型转化,再比较。
==,不做类型转化,类型不同的一定不等。
下面别离说明:
先说===,这个比较简单。下面的规矩用来判别两个值是否===持平:
1、假如类型不同,就[不持平]
2、假如两个都是数值,并且是同一个值,那么[持平]。
3、假如两个都是字符串,每个方位的字符都相同,那么[持平];不然[不持平]。
4、假如两个值都是true,或许都是false,那么[持平]。
5、假如两个值都引证同一个目标或函数,那么[持平];不然[不持平]。
6、假如两个值都是null,或许都是undefined,那么[持平]。
再说==,依据以下规矩:
1、假如两个值类型相同,进行===比较。
2、假如两个值类型不同,他们或许持平。依据下面规矩进行类型转化再比较:
a、假如一个是null、一个是undefined,那么[持平]。
b、假如一个是字符串,一个是数值,把字符串转化成数值再进行比较。
c、假如任一值是true,把它转化成1再比较;假如任一值是false,把它转化成0再比较。
d、任何其他组合,都[不持平]。

 

js

js字符串比较

在对接接口时,有小伙伴把某些字段值用字符串返回了,导致前端这边校验与平时个人规范的有收支,遇到了一点小延伸,记录一下点滴。
分析
数字比较1>0//true
字符串比较’1′>’0’//true
数字比较2>1//true
字符串比较’2′>’1’//true
数字比较2>11//false
字符串比较’2′>’11’//true
呈现了,’2’大于’11’为true,问题来了,2不应该大于11吗?仿制代码
javascript字符串在进行巨细比较时,会依据第一个不同的字符的ASCII码值进行比较,当数字与字符串比较巨细时,会强制的将字符串(string)转换成数字(number)然后再进行比较。
便是说在同是数字的时候确实是2小于11,但是在同是字符串的时候,首先左边第一位的是’2’转换成00000010(二进制)与右边第一位’1’转换成00000001(二进制)做比较巨细,然后,再按后边的方位一一对应比较。位数不行的自动补为0
数字比较1==’1’//true
数字比较1===’1’//false
==比较时,假如一边是字符,一边是数字,会先将字符串转换成数字再进行比较;
===比较时,不会进行类型转换,会比较类型是否持平。
要注意的是NaN与任何值(包括它自己)比较时都是false
特殊情况的栗子:
NaN==undefined//false
NaN==null//false
NaN==NaN//false
NaN===NaN//false
null==undefined//true
null===undefined//false
null===null//true
undefined===undefined//true仿制代码
结语
写到最后总结得差不多了,后续假如我想起还有哪些JS字符串的比较遗漏的,会持续在这篇文章上补全,一起也期望各位倔友对文章里的关键进行弥补或许提出自己的见解。欢迎在下方进行谈论或弥补喔,喜欢的点个赞或收个藏,保证你在开发时用得上。
最后送我们一个键盘!
(_=>[…”`1234567890-=~~QWERTYUIOP[]\\~ASDFGHJKL;’~~ZXCVBNM,./~”].map(x=>(o+=`/${b=’_’.repeat(w=x2:’667699′[x=[“Bs”,”Tab”,”Caps”,”Enter”][p++]||’Shift’,p])}\\|`,m+=y+(x+”).slice(0,w)+y+y,n+=y+b+y+y,l+=’__’+b)[73]&&(k.push(l,m,n,o),l=”,m=n=o=y),m=n=o=y=’|’,p=l=k=[])&&k.join`
`)()

未经允许不得转载:迅闻网 » javascript判断字符串相等(js字符串比较)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

迅闻网-让更多人看到你

登录/注册返回首页