JavaScript的逻辑和比较运算符小结

逻辑运算符:( && , || , ! )

与操作( && ):

  • 操作数同时为true返回true,操作有一个false就返回false
  • 如果第一个操作数是对象,返回第二个操作数

   例:var b = "abc" && "bcd"

          输出b="bcd"

  • 如果第二个操作数是对象,并且第一个操作数是true返回第二个操作数
  • 如果有一个操作数是null(NaN/undefined),返回null(NaN/undefined)
  • 总结:如果两个操作数都不是布尔类型,两个值转换成布尔类型都是true,则返回第二个操作数,如果有一个操作数转换成布尔类型是false,返回这个操作数。

或操作( || ):

  • 有一个操作数为true返回true,操作数同时为false返回false
  • 如果第一个操作数是对象,返回第一个操作数
  • 如果第二个操作数是对象,并且第一个操作数是false返回第二个操作数
  • 如果两个操作数都是对象,返回第一个操作数
  • 如果两个操作数都是null(NaN/undefined),返回null(NaN/undefined)

取反操作( ! ):

  • !(4>6)为true
  • 如果操作数是对象,返回false
  • 如果操作数是空字符串,返回true
  • 如果操作数是非空字符串,返回false
  • 如果操作数是0,返回true
  • 如果操作数是任意非0值,返回false
  • 如果操作数是null,undefined,NaN,返回true

转换后为false的值:false, "", 0, NaN, null, undefined.

比较运算符

var x = 5

运算符 描述 例子
== 等于 x==8为false
=== 全等(值和类型) x===5为true,x==='5'为false
!= 不等于 x!=8为true
> 大于 x>8为false
< 小于 x<8为true
>= 大于或等于 x>=8为false
<= 小于或等于 x<=8为true

猜你喜欢

转载自blog.csdn.net/LinRuiC/article/details/83746994