通过关系运算符可以比较俩个值大小,如果关系成立则返回true,如果关系不成立则返回false。
数值情况:
> :大于号,判断左侧值是否大于右侧值,如果成立返回true,反之为false。
>=:大于等于号,判断左侧值是否大于或等于右侧值,如果成立返回true,反之为false。
< :小于号,判断左侧值是否小于右侧值,如果成立返回true,反之为false。
<=:小于等于号,判断左侧值是否小于或等于右侧值,如果成立返回true,反之为false。
非数值情况:
先将其转换为数值,在进行比较。
任何值和NaN进行比较都是false。
console.log(10 <= "hello")//10<=NaN 结果为false如果俩边都是字符串时,则不会将其转换为数值,而是根据其Unicode编码进行比较。比较编码时,是一位一位的比较,如果俩位一样,则比较下一位。借用的英文比较。比较中文就没有意义
如果比较俩个是字符串型的数值,则可能会结果出现偏差。所以在比较俩个字符串类型的数值时,一定一定要转型。也就是“5”前面加上+,eg:+“5”。
Unicode编码表:
在字符串中输入转义字符进行Unicode编码,\u四位编码
在网页中进行Unicode编码,这里编码需要十进制
<script type="text/javascript"> console.log("\u2620") </script> <h1 >☠</h1>
比较俩个值是否相等,相等返回true,反之false。
使用==来做运算符,如果值得类型不同,将会自动转换为相同类型的值,然后进行比较。
undefined衍生自null,所以这俩个值做判断时,会返回true。
NaN不和任何值相等,包括它本身。
可以通过isNaN来检查值是否为NaN,如果是返回true,反之为false。
使用!==来判断俩个值是否不相等,如果不相等返回true,相等返回false。,如果值得类型不同,将会自动转换为相同类型的值,然后进行比较。
使用===做全等运算,它不能做自动类型转换,如果俩个值一样,但是类型不同,直接返回false。
使用!==做不全等运算,它不能做自动类型转换,如果俩个值一致,但是类型不同,直接返回true。
条件运算符又叫三元运算符。
语法:条件表达式?语法1:语法2
执行流程操作:首先对条件表达式进行求值,如果该值为true,则执行语句1,返回语句1结果。如果条件表达式该值为false,则 执行语句2,返回语句2 结果。
如果条件表达式为非布尔值,先将表达式转换为布尔值,在进行计算。
(可以使用,(逗号)分割多个语句,一般可以在声明多个变量中使用)
js中优先级,先乘除,后加减。优先级表如图:
优先级从上往下,最上面是最高级,如果在同一行,则遵循从左到右的计算。
当然如果记不住时,我们还可以用(),直接让我们想要的值先行计算。