不管是比较运算符还是逻辑运算符,重点都是运算,是运算的话都会得到一个结果值。
先说比较运算符
大概就是上面这些运算符,看运算符怎么运算的,直接判断这个比较逻辑上是不是正确的,就比如4==3,很明显是正确的。结果是正确的,值是用布尔值表示的也就是true,如果不满足就是false。
如果是两个字符串进行比较,则要分别把两个字符串转换为ascall码值进行比较再得到结果
下面注意几个特别的数:
undefined= =undefined 值是true
indefinitely= =indefinitely 也是true
NaN= = NaN 结果是false
逻辑运算符
一共就三种 :&&、或||、非! 三种
1.先看&&
a&&b
a和b可以是数字,比如1&&2 结果会输出2,这个运算原理是先看符号与前面的如果是真的话,就直接返回符号与后面的值就是2。如果符号与前面的是假的话,直接就不看后面的数直接返回这个假的数
那如果第一个表达式转换为布尔值为假那就直接返回这个假的值,后面的直接不看了
逻辑为假的数有 false 0 “” undefined NAN null,除了这几个以外,其他的都是真
逻辑与运算有一种特殊的用途叫中断,就是像
a&& console.log();
如果a是假的 那就不会运行后面的语句,如果表达式a是真的,那就会运行后面的语句
2.|| 这个逻辑运算符和&&就是完全相反的
a||b
如果前面的a表达式是真的就直接返回a的布尔值,假的再往后看
3.!运算符 就是把!后面的表达式转换为布尔值,然后取反的意思
!!a 两个取反就是负负得正,结果就是a的布尔值