/**
* 非数值的比较:
* 1.对于非数值的比较时,会将其转换成数字然后再比较
* 2.如果符号两端是字符串的值进行比较时,不会将其转换为数字进行比较,而是
* 分别比较字符串中的字符的 unicode 编码,如果其中两个字符的编码相等则直接跳过,
* 继续比较下一个字符,若不等,直接输出结果,不会再比较后面的字符
* 3.如果比较的是两个字符串型的数字,一定要将它们都转成数字类型再进行比较
*/
// number
console.log(`2 > 1 = ${2 > 1}`); // 2 > 1 = true // NaN - 任何值与 NaN 比较都是 false
console.log(`1 > NaN = ${1 > NaN}`); // 1 > NaN = false // boolean
console.log(`1 > false = ${1 > false}`); // 1 > false = true
console.log(`true > false = ${true > false}`); // true > false = true // null
console.log(`1 > null = ${1 > null}`); // 1 > null = true // undefined
console.log(`1 > undefined = ${1 > undefined}`); // 1 > undefined = false // string
console.log(`1 > '0' = ${1 > '0'}`); // 1 > '0' = true
// 'hello' 转换成数字为 NaN, 任何值与 NaN 比较都是 false
console.log(`2 > 'hello' = ${2 > 'hello'}`); // 2 > 'hello' = false
console.log(`2 > '1h3ello' = ${2 > '1h3ello'}`); // 2 > '1h3ello' = false
console.log(`Number('1h3ello') = ${Number('1h3ello')}`); // Number('1h3ello') = NaN // 两个字符型数字的比较
// '1' 的 unicode 编码是 0x31,'5' 的 unicode 编码是 0x35,显然
// 前者小,后者大
console.log(`'1' > '5' = ${'1' > '5'}`); // '1' > '5' = false // 先将字符串 '11' 中的字符 '1' 的 unicode 编码与 '5' 的 unicode 编码进行比较,发现前者小于后者,
// 直接输出结果 false,字符串 '11' 中另外的字符 '1' 不会再进行比较
console.log(`'11' > '5' = ${'11' > '5'}`); // '11' > '5' = false // 将 '11' 与 '5' 都转换成 number 再进行比较
console.log(`+'11' > +'5' = ${+'11' > +'5'}`); // +'11' > +'5' = true // 实际比较的是:'c' > 'd'
console.log(`'abcde' > 'abdef' = ${'abcde' > 'abdef'}` ); // 'abcde' > 'abdef' = false

js非数值的比较的更多相关文章

  1. 在JS中如何判断所输入的是一个数、整数、正数、非数值?

    1.判断是否为一个数字: Number(num)不为 NaN,说明为数字 2. 判断一个数为正数: var num=prompt("请输入:"); if(Number(num)&g ...

  2. JS中数值类型的本质

    一.JS中的数值类型 众所JS爱好友周知,JS中只有一个总的数值类型--number,它包含了整型.浮点型等数值类型.其中,浮点数的实现思想有点复杂,它把一个数拆成两部分来存储.第一部分是有效位数,也 ...

  3. 写出将字符串中的数字转换为整型的方法,如:“as31d2v”->312,并写出相应的单元测试,正则去掉非数值、小数点及正负号外的字符串

    写出将字符串中的数字转换为整型的方法,如:"as31d2v"->312,并写出相应的单元测试,输入超过int范围时提示不合法输入. public struct Convert ...

  4. 在javaScript中把非数值类型的数据自动转换为数值类型的两种方式

    一.使用Number()函数. 二.使用parseInt()/parseFloat()函数. 详情: 一.使用Number()函数将非数值类型的数据自动的转化为数组类型 Number()函数可以将任何 ...

  5. js对数值型数组排序错误

    今天对一个js的数值数组排序,结果发现好像排后的像是对字符数组排的序,后来一查才发现 a = [33,1000]; a.sort(); 结果:1000 33 无论类型,sort方法会调用每个数组项的t ...

  6. js处理数值和日期本地化

    js处理数值和日期本地化 const s = new Intl.NumberFormat('zh-cn'); s.format(111.111) // "111.111" cons ...

  7. San Francisco Crime Classification非数值性多分类问题

    给出了旧金山以往犯罪活动的相关信息,预测特定条件下的犯罪情况 分析数据集和测试集信息: 训练集给出的信息有: 1.Dates:时间日期和时间,这里考虑时间对犯罪活动有影响,日期和下边的周几有相似处,取 ...

  8. 【R】如何去掉数据框中包含非数值的行?

    目录 1. 去掉指定列中包含NA/Inf/NaN的行 2. 去掉指定列中包含其他乱七八糟字符串的行 3. 去掉整个数据框中包含非数值的行 只包含NA.NaN和Inf的情况 针对其他字符情况 4. 总结 ...

  9. js 各种数值类型正则匹配检测

    随拿随用只js正则表达式,反正平时工作我是不写正则的,大神请自动绕行: 验证数字的正则表达式集验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数 ...

随机推荐

  1. C语言字符串复制

    strcpy(arg1,arg2);//将arg2内容赋值到arg1 strncpy(arg1,arg2,size);//赋值多少由size决定,如果要截取某一部分,可以将arg2指针进行arg2+x ...

  2. squid代理与缓存(上)

    squid代理与缓存(上) 1. Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器. ...

  3. go语言学习之从例子开始

    [目录] go语言从例子开始之Example1.helloworld go语言从例子开始之Example2.类型 go语言从例子开始之Example3.变量 go语言从例子开始之Example4.常量 ...

  4. 2017ICPC沈阳赛现场赛 L-Tree (dfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6228 题目大意:给一棵树,需要用k种颜色给树上的节点染色,问你在最优的染色方案下,相同颜色的节点连接的 ...

  5. ThreadPoolTaskExecutor使用详解

    当我们需要实现并发.异步等操作时,通常都会使用到ThreadPoolTaskExecutor,现对其使用稍作总结. 配置ThreadPoolTaskExecutor通常通过XML方式配置,或者通过Ex ...

  6. Code Festival 2017 Qual B E Popping Balls

    传送门 神仙计数! 我的计数真的好差啊= = 不过这个题真的神仙 看了题解把整个过程在草稿纸上重写了一遍才想明白= =(一张草稿纸就没有了!!!) 计数的关键就是在于 枚举的有效性和独立性[不能重复计 ...

  7. DB事务隔离级别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11393417.html 事务隔离级别 Note: Oracle默认的隔离级别是 READ COMMIT ...

  8. 【leetcode】75. Sort Colors

    题目如下: 解题思路:我的解题思路是遍历数组,遇到0删除该元素并插入到数组头部,遇到1则不处理,遇到2删除该元素并插入到数组尾部. 代码如下: class Solution(object): def ...

  9. CentOS6.5下安装jdk配置环境变量错误问题:

    CentOS6.5下安装jdk,使用gedit /etc/profile  配置环境变量为如下: export JAVA_HOME=/usr/soft/jdk7export PATH=$JAVA_HO ...

  10. JS中数据结构之图

    图由边的集合及顶点的集合组成.边是有方向的是有序图(有向图),否则就是无序图(无向图).图中的一系列顶点构成路径,路径中所有的顶点都由边连接.路径的长度用路径中第一个顶点到最后一个顶点之间边的数量表示 ...