大于 / 小于:a > ba < b

大于等于 / 小于等于:a >= ba <= b

检查两个值的相等:a == b,请注意双等号 == 表示相等性检查,而单等号 a = b 表示赋值。

检查两个值不相等:不相等在数学中的符号是 ,但在 JavaScript 中写成 a != b

1字符串比较

字符串是按字符(母)逐个进行比较的。

alert( 'Z' > 'A' ); // true

alert( 'Glow' > 'Glee' ); // true

alert( 'Bee' > 'Be' ); // true

2 不同类型比较

当对不同类型的值进行比较时,JavaScript 会首先将其转化为数字(number)再判定大小。

1 alert( '2' > 1 ); // true,字符串 '2' 会被转化为数字

2 alert( '01' == 1 ); // true,字符串 '01' 会被转化为数字 1

alert( true == 1 ); // true

alert( false == 0 ); // true

普通的相等性检查 == 存在一个问题,它不能区分出 0 和 false

alert( 0 == false ); // true

无法区分空字符串和 false

alert( '' == false ); // true

这是因为在比较不同类型的值时,处于相等判断符号 == 两侧的值会先被转化为数字。空字符串和 false 也是如此,转化后它们都为数字 0。

严格相等运算符 ===(三等) 在进行比较时不会做任何的类型转换。

alert( null === undefined ); // false

alert( null == undefined ); // true

当使用数学式或其他比较方法 < > <= >= 时:

null/undefined 会被转化为数字:null 被转化为 0undefined 被转化为 NaN

下面让我们看看,这些规则会带来什么有趣的现象。同时更重要的是,我们需要从中学会如何远离这些特性带来的“陷阱”。

undefined 不应该被与其他值进行比较:

alert( undefined > 0 ); // false

alert( undefined < 0 ); // false

alert( undefined == 0 ); // false (3)

(1) 和 (2) 都返回 false 是因为 undefined 在比较中被转换为了 NaN,而 NaN 是一个特殊的数值型值,它与任何值进行比较都会返回 false

(3) 返回 false 是因为这是一个相等性检查,而 undefined 只与 null 相等,不会与其他值相等。

除了严格相等 === 外,其他但凡是有 undefined/null 参与的比较,我们都需要格外小心。

除非你非常清楚自己在做什么,否则永远不要使用 >= > < <= 去比较一个可能为 null/undefined 的变量。对于取值可能是 null/undefined 的变量,请按需要分别检查它的取值情况。

比较运算符始终返回布尔值。

字符串的比较,会按照“词典”顺序逐字符地比较大小。

当对不同类型的值进行比较时,它们会先被转化为数字(不包括严格相等检查)再进行比较。

在非严格相等 == 下,null 和 undefined 相等且各自不等于任何其他的值。

在使用 > 或 < 进行比较时,需要注意变量可能为 null/undefined 的情况。比较好的方法是单独检查变量是否等于 null/undefined

值的比较(大于 等于 小于 不等于)相关推荐

  1. linux if else 格式,linux shell中 if else以及大于、小于、等于逻辑表达式

    在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友 比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示 ...

  2. (36)Verilog HDL关系运算:大于、小于、等于

    (36)Verilog HDL关系运算:大于.小于.等于 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL关系运算:大于.小于.等于 5)结语 1. ...

  3. shell脚本中判断大于、小于、等于、不等于的符号

    shell脚本中判断大于.小于.等于.不等于的符号 在shell中有时候会用到对数字进行判断的场景,尤其在写脚本判断参数的时候,以下有几个命令需要记住 大于 -gt (greater than) 小于 ...

  4. R语言逻辑运算符(Logical Operators,大于、小于、等于、不等于、与或非、是否为真)、R语言逻辑运算符(Logical Operators)实战示例

    R语言逻辑运算符(Logical Operators,大于.小于.等于.不等于.与或非.是否为真.>.<.!=.==.&.|.!&&.||).R语言逻辑运算符(Lo ...

  5. 原函数与导函数的关系,以及驻点处二阶导函数大于、小于、等于零时,原函数取极小值、极大值或鞍点的情况。

    由图①可知,当一阶导函数在某点(即驻点)处为0,二阶导函数在该点处小于0时,原函数在该驻点处取极大值: 由图②可知,当一阶导函数在某点(即驻点)处为0,二阶导函数在该点处大于0时,原函数在该驻点处取极 ...

  6. python中如何快速判断一个值是否大于、小于、等于某个值?

    假设我们要判断变量seg的值是否大于5,怎么写最快呢? 下面的代码: seg_vj = (seg > 5) 即可实现~ 如果seg的值大于5,则上面语句中seg_vj的值为Ture 如果seg的 ...

  7. [shell] if else以及大于、小于、等于逻辑表达式

    原文链接:http://blog.51cto.com/lxsym/866331 大多数情况下,可以使用测试命令来对条件进行测试.比如可以比较字符串.判断文件是否存在及是否可读等,通常用"[] ...

  8. linux中shell逻辑表达式if else以及大于、小于、等于

    在linux中shell是常用的命令程序,在shell中又存在很多常见的逻辑判断, 下面我们就来看看这些逻辑判断的用法以及规范. 比如可以比较字符串.判断文件是否存在及是否可读等,通常用"[ ...

  9. shell判断大于、小于、等于

    情景:在写脚本监控服务器是否重启时需要用到等于的判断,平时用到大于小于比较多,现在统一整理下 1.-gt:大于,greater than. 2.-eq:等于,equal. 3.-lt:小于,less ...

最新文章

  1. 基于三维点云数据的主成分分析方法(PCA)的python实现
  2. win10 android 登录,Microsoft现在允许您在Win10中运行Android应用程序
  3. [洛谷P3387]【模板】缩点
  4. 字符识别Python实现 图片验证码识别
  5. android list 比较,LinkedList 和 ArrayList 的区别
  6. Spring Boot(十四):spring boot整合shiro-登录认证和权限管理
  7. linux 下mysql等php的安装 lnmp
  8. JS判断客户端是否是iOS或者Android
  9. 推荐:CLR 完全介绍-一篇讲解CLR内存回收机制以及常见的调试技巧的文章
  10. LeetCode(748)——最短完整词(JavaScript)
  11. 一、node.js的windows环境设置
  12. 耐思尼克的“建站宝盒”怎么样呀?
  13. Lync 小技巧-53-Windows 2012 R2-加域-电脑-自动-登录
  14. 事务Transaction
  15. 图像加噪c语言,[转载]使用imnoise向图像中添加噪声
  16. 如何免费下载知网文献_知网文献下载工具_知网下载器Cnkidownloader
  17. Axure RP9 制作下拉式菜单
  18. 搭建微信小程序HTTPS服务器
  19. WIN32 2048游戏
  20. ime with the \acknowledge=true\ parameter:,watcher:[Watcher will be disabled

热门文章

  1. 高中计算机专业教师 教学计划,信息技术教师教学计划
  2. Tomcat的访问及修改端口号
  3. 报Python培训班多少钱?报个班值得吗?
  4. 卷积神经网络(CNN)的参数优化方法
  5. 编写python 函数,实现冒泡排序算法。
  6. Vue 3系列之03——Vue 3使用TypeScript
  7. 开始使用MarkDown
  8. 2018第十届中国云计算大会7月即将开幕!
  9. python array 行向量 列向量
  10. Android 文件下载中文名乱码的解决办法