关系运算符: > < >= <= == != === !===
1. 对于非数值类型的数据,会先转换成数值类型,再进行判断
<script> let result1 = 1 > false; console.log("result1:" + result1); let result2 = 1 > true; console.log("result2:" + result2); </script>控制台结果: 2. 对于关系运算符来说,任何数据和NaN进行比较,返回值都是false
<script> let result1 = 1 > NaN; console.log("result1:" + result1); </script>控制台结果: 在企业开发中,不要通过==来判断某一个数据是否是NaN 而是要使用isNaN方法
<script> let result1 = isNaN(NaN); console.log("result1:" + result1); </script>控制台结果:
3. 如果参与比较的都是字符串类型,那么不会转换成数值类型再比较,而是之间比较字符对应的Unicode编码
<script> let result1 = "a" > "b"; //a:0061 b:0062 console.log("result1:" + result1); </script>控制台结果:
注意点: (1)=== !=== 会同时判断取值和数据类型 == != 只会判断取值
<script> let result1 = 1 == "1"; let result2 = 1 === ""; console.log("result1:" + result1); console.log("result2:" + result2); </script>控制台结果: (2)关系运算符的结合性和优先性
关系运算符都是从左至右的运算
<script> let result1 = 10 <= 25 <= 1; // 10<=25 结果是true true=1 1<=1 console.log("result1:" + result1); </script>控制台结果: 关系运算符中 > < >= <= 的优先级高于 == != === !===
<script> let result1 = 8 === 8 > 6; // 8 > 6 结果为false 8===0 结果为false console.log("result1:" + result1); </script>控制台结果: