js入门(十一):比较运算符

比较运算符概述

JavaScript 语言中的比较运算符是进行比较两个操作数运算,并返回一个 boolean 类型的值。其操作数可以是数字值、字符串或对象等。一般情况下,如果两个操作数不是同一个类型的值的话,JavaScript 语言会转换其中一个操作数的类型,再进行比较运算。

JavaScript 语言提供了如下表所示的比较运算符:
在这里插入图片描述
值得注意的是:

字符串使用比较运算符进行运算时,是基于标准字典的 Unicode 值来进行比较的。
Infinity 值比任何值都大,-Infinity 值比任何值都小。

等于与不等于运算符

等于运算符(==)与不等于运算符(!=)比较的都是其操作数的值,而不比较类型。换句话讲,只要是值是相等的,比较的结果为 true。如下示例代码所示:

console.log(2 == '2')//true

如上图所示,第一个操作数是数字值,第二个操作数是字符串,但比较运算之后的结果为 true。这里实际上,JavaScript 语言先将其数字值转换为字符串或是将字符串转换为数字值后,再进行比较运算。

等于运算符(==)和赋值运算符(=)不要混淆,等于运算符是两个 =,而赋值运算符则是一个 =。再有就是,NaN 与任何值都不相等(包括自身),如下示例代码所示:

console.log(NaN == NaN)//false
console.log(NaN != NaN)//true

还有值得注意的是,undefined 和 null 值的比较,如下示例代码所示:

console.log(undefined == undefined)
console.log(null == null)
console.log(undefined == null)

全等与不全等运算符

比较运算符中除了等于运算符与不等于运算符之外,还提供了全等与不全等运算符。其区别在于全等与不全等运算符不仅比较值是否相等,还比较类型是否相同。

例如上述等于与不等于运算符的第一个示例代码,如果改为全等运算符的话,则结果会有所不同:

console.log(2 === '2')//false

如上图所示,需要注意的是,使用全等运算符进行比较运算时,JavaScript 语言是不会先进行类型转换的。

再有,不全等运算符指的是值或类型不同的话,运算结果则返回 true。也就是说,只要两个操作数的值或者类型其中一个不同,那么不全等运算符运算结果就为 true。如下示例代码所示:

console.log(2 !== '2') //true
console.log(2 !== 3) //true
console.log(2 !== 2) //false

如上图所示,第一个表达式是值相等但类型不同,第二个表达式是类型相同但值不等,第三个表达式是值和类型都相同。所以只有第三个表达式的结果为 false。

isNaN() 函数

由于 NaN 与任何一个值都不同相等,包括自身。所以,我们是无法使用比较运算符来进行 NaN 和其他值之间的比较运算的。

JavaScript 语言提供了 isNaN() 函数专门用来判断某个变量的值是否为 NaN。如下示例代码所示:

console.log(isNaN(Number('这是一个测试内容.'))) //true

这里需要注意的是,当返回结果为 true 时,表示当前变量的值为 NaN(不是一个数字值)。请不要混淆!

发布了51 篇原创文章 · 获赞 8 · 访问量 1824

猜你喜欢

转载自blog.csdn.net/weixin_42393424/article/details/103956442