关于运算符的操作

今天遇见一个很有意思的问题:’23’<’3’竟然返回true,这是什么原因呢,因为两者都是字符串,’2’<’3’自然是对的,那么该如何让它返回false呢?我们可以将’3’改成3,这样’23’会自动转化成数字类型进行比较.
我们将这个问题延伸一下,如果是字母比较该怎么办,之前学C语言的时候我们知道字母对应ASCII码值,js也是如此,由于大写字母的编码值小于小写字母的所以,只要是大写字母开头的肯定小于小写字母的.
再将这个问题延伸一下,当字母和数字比较会怎么样,我们可以看到’a’<2返回false.
在平时计算中我们知道一个数如果不小于另一个数,那么一定大于等于另一个数,但是js有一个特别的’数’———NaN,它的数据类型为number,但是当它用于数值比较时,无论什么数值哪怕是本身NaN,返回都为false.

坚持原创技术分享,您的支持将鼓励我继续创作!