更新时间:2022-08-25 12:50
相等运算符是比较运算符的一种,利用相等运算符,如果希望相等运算符返回true,则运算符两侧的值或语句必须使相等的;如果不相等,则==运算符返回false。注意在使用该运算符时,仍然会存在强制转型,所以例如“4”==4这样的语句将返回true,因为JavaScript会将字符“4”转换成数字4,如果希望该语句返回false,则需要使用恒等运算符(===)。
为了只有满足在某种条件时才执行操作,所以需要将比较运算符经常与条件语句和循环一起使用,因为只有比较运算符可用于比较两个值,它们的返回值要么是true要么是false,这取决于运算符两侧的值。比较运算符主要包括:相等运算符(==)、不等运算符(!=)、恒等运算符(===)、非恒等(!==)、大于(>)、小于(<)、大于或等于(>=)、小于等于(<=)。
利用相等运算符,如果希望相等运算符返回true,则运算符两侧的值或语句必须使相等的。如果不相等,则==运算符返回false。注意在使用该运算符时,仍然会存在强制转型,所以例如“4”==4这样的语句将返回true,因为JavaScript会将字符“4”转换成数字4。如果希望该语句返回false,则需要使用恒等运算符(===)。
相等运算符并不要求两个操作数的类型都一样,相等运算符会将字符串“10”与数字10认为是两个相等的操作数。
a等于b
b不等于c
若执行强制类型转换
因为该运算符将执行强制类型转换,所以也会有一些特殊的规则:
(1)如果一个操作数是数字,另一个是字符串,==运算符会尝试在比较之前将字符串转换成数字;
(2)如果一个操作数是布尔值,那么在比较之前它将会被运算符强制转换成为数值类型,在这种情况下,true被转换为1,而false被转换为0。
(3)如果一个操作数是null,而另一个是underfined,比较结果为true;
(4)如果一个或两个操作数都是NaN,比较结果为false。
在比较运算符两侧使用变量
如其他运算符一样,可以在比较运算符两侧使用变量,如果变量的值相等,比较运算则返回true,否则返回false。假设声明了下面的变量:
下面的比较将返回true:
接下来的比较将返回false:
==与=
记住要使用相等运算符(==)做比较运算,切勿错用成赋值运算符(=),因为它执行赋值操作而不是比较,而且会返回赋值操作的结果,那么可能返回一些意外结果。