JavaScript 比较运算符
发布时间:2023-03-07 14:12:19 所属栏目:教程 来源:
导读:比较运算符用于比较两个表达式的结果。如变量 num 加上变量 offset 是否大于0,大于就是一个比较运算符。
比较运算符还分为相等运算符与关系运算符。
相等运算符:
== 相等
!= 不相等
=== 严格相等
!==
比较运算符还分为相等运算符与关系运算符。
相等运算符:
== 相等
!= 不相等
=== 严格相等
!==
比较运算符用于比较两个表达式的结果。如变量 num 加上变量 offset 是否大于0,大于就是一个比较运算符。 比较运算符还分为相等运算符与关系运算符。 相等运算符: == 相等 != 不相等 === 严格相等 !== 严格不相等 关系运算符: > 大于 >= 大于等于 < 小于 <= 小于等于 运算符返回的都是布尔值。 运算符左右的值也被称为操作数。 1. 相等运算符 相等运算符用于判断运算符左右两边的值是否一致。 很多资料也会把相等称为等于,严格相等被称作严格等于。 1.1 相等 相等运算符在进行比较的时候,如果两边操作数数据类型不同,则会尝试转换成相同的类型再进行比较,如果转换成相同类型后的值相同,则返回 true,否则返回 false。 如果比较的两个操作数是引用类型,则会比较内部的引用(是否引用同一个内存地址上的值)。 '3' == ; // true == '3'; // true == ; // false + == ; // true var obj1 = {a: }; obj1 == {a: }; //false var obj2 = obj1; obj1 == obj2; // true undefined == null; // true == true; // true == false; // true 因为内容比较简单,推荐直接在控制台调试,可以快速看到结果。 具体的转化规则可以查阅隐式转换章节。 注意:相等会对不同类型的比较数据进行隐式转换,为了防止误导阅读代码的开发者对转换进行猜测,以及避免一些不可控的问题,大部分开发者会选择不使用相等。 1.2 不相等 不相等的比较机制和相等一致,类型相同直接比较,不相同的会尝试转换成相同类型,碰到引用类型则比较引用地址是否一致。区别就在于最后返回的结果与相等相反,比较结果如果不一致,则返回 true,一致则返回 false。 != ; // false != ; // true var obj1 = {a: }; obj1 != {a: }; // true 1.3 严格相等 严格相等在比较的时候,碰到两边的操作数类型不同,则会直接返回 false,不会进行类型的转换。 当类型一样时,则比较等号两边的值是否相等,相等则返回 true,否则返回 false。 === '1'; // false; === false; // false 严格相等更加严格,程序中使用严格相等可以避免许多不可控的类型转换,特别是当开发者不熟悉转换规则时候,应尽可能使用严格相等。 1.4 严格不相等 严格不相等在比较的时候,如果两边的操作数不相等则返回 true,否则返回 false。其和严格相等一样,不会进行类型转换。 !== ; // false !== ; // true !== '1'; // true undefined !== null; // true 注意:在做不相等运算的时候,也应该尽可能选择严格不相等,原因与建议使用严格相等一致。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |