"10"这个判断返回的值是t...">
美文网首页UFEG-A我爱编程
关于字符串我们可能遗忘的东西

关于字符串我们可能遗忘的东西

作者: CMihee | 来源:发表于2018-05-28 09:41 被阅读26次

最近在我们的项目中修改设置门限的动态获取的时候,前端代码中发现了这样一个问题 "6">"10"这个判断返回的值是true,当时就惊呆了(其实是关于字符串的一个概念我们忘了);然后不断的尝试

举例

当我们看见的字符串是两个数字之间作比较的时候,人为的会带入数学的思想从而忘记字符串的特性;我们在js中看见“>,<,==.....”这些运算符的时候往往都会想起运算符的特性(比较大小,js中的隐式类型转换);以上就是我造成错误的原因;

字符串之间比较大小,其实是 取决于,第一个比的字符串的长度来进行比较"6"和“10”,“6”长度是1,而“10”的长度是2,因为运算符(“>”且两边都是字符串)的左边只有1位,那么右边也支取第一位做比较那么就会变成"6">"1";答案为true;

同理var a ="2018-08-08";var b ="2018-09-09"; a和b做比较他们也会遵循这个道理;长度一致那么他们就一位一位的比较大小,a > b为false;a < b 为true

在举个例子 var a="a11", b="a2";字符串之间有字母了,那么同理比较长度后,从第一位开始比较比较字母之间大小他会自动转化为a所对应的charCode,a[0]="a", b[0]="a",他们 charCode 相等,所以比较下一个。a[1]="1", b[1]="2", 1 charCode 是 49,2 是 50 ,所以 a[1] 小于 b[1];

最后console.log('选择'>'努力');他的答案是什么呢?

答案是true;因为 "选" 的 charCode 是 36873,"努" 的 charCode 是 21162

相关文章

  • 关于字符串我们可能遗忘的东西

    最近在我们的项目中修改设置门限的动态获取的时候,前端代码中发现了这样一个问题 "6">"10"这个判断返回的值是t...

  • 忘记,也许是为了更好的记住

    关于记忆,我们可能最先想到或仅能想到的也许就是“遗忘曲线”,也即是,艾宾浩斯的遗忘曲线。 主要内容是:人对事物的记...

  • 关于民俗

    关于民俗,突然很想聊一番。 好像现代越来越发展,好多民俗的东西,被人们脚步匆匆前进时渐渐遗忘。遗忘有什么不好?遗忘...

  • 遗忘的可能

    书到了一堆,迫不及待的拆封,归类,再然后就是坐桌前一下午。不知道怎样的学习方法才是最有效最适合的自己的,也不知道这...

  • 时间的尘埃

    时间过得越久,我关于过去的记忆就越是模糊。 可能有些东西是我故意遗忘掉的吧。 只有了解自己,才能接纳自己。 这些被...

  • es6的模板字符串

    关于es6的模板用法,想要拼接字符串使用传统的字符串拼接“+”是比较麻烦的,尤其拼接复杂的东西时,而es6为我们提...

  • 被我们遗忘的东西去了哪

    我们一直在讲记的很久之前做过什么;记的什么专业知识,但是,我们很少注意被我们遗忘的东西。那么被我们遗忘的东西...

  • 遗忘掉的东西

    城市 灯火通明令人向往 在一个黑暗的角落 一个清瘦少年 啃着一个冷掉发馊的馒头 来来往往的人 却不肯多瞟他一眼 他...

  • 不要遗忘我们曾经炽热的东西

    大二下学期来的突如其来,没有准备,但不恐慌。开学第一堂课,没有许多老师会直切主题。说是,灵魂还沉浸在过年的慵懒里,...

  • 我们不能遗忘已经拥有的东西

    26岁了,真是个瓶颈的年纪,往前算已经毕业两年了,往后看而立之年也没多久了。 之前我花了16年上学,完整接受了义务...

网友评论

    本文标题:关于字符串我们可能遗忘的东西

    本文链接:https://www.haomeiwen.com/subject/ceswjftx.html