JS操作符——关系操作符:相等、全等、in、instanceof

134 阅读1分钟

比较运算符:<、>、<=、>=

注意:

遇到数字,优先按照数字大小比较;

两边都是字符串,按位比较,按照字符ASCII 编码a-97 A-65

 小于(<)、大于(>)、小于等于(<=)、大于等于(>=);
 
 任何操作数与 NaN 进行关系比较,结果都是 false

image.png

image.png

相等运算符:==、===

==:比较两个表达式的值是否相等;

 引用数据比较时,引用数据先转为字符串,或者使用valueOf()方法

!=:值不相等

特殊的一些表达式
null==undefinedtrue
null==0false
NaN==任何数(包括NaN)false
NaN !=任何数true
undefined==0false

注意: 如果两个表达式都是引用数据时,那么会看是否是同一个内存空间?

image.png

image.png

===:比较两个表达式的值是否相等,类型也是否相等。

!==:不全等(值和类型)

注意:null===undefined的结果为false

image.png

image.png

in运算符:

image.png

image.png

instanceof运算符:

检测左侧的对象是否是右侧类的实例,如果是则返回true

如果一个对象是一个"父类"的子类的实例,则返回true

注意:所有的对象都是Object的子类
  

image.png

image.png