&&与
只要有一个条件不成立,返回false
说明:
1、在有两个操作数的时候,如果第一个操作数隐式类型转换后为true,则返回第二个操作数,如果有多个前面都隐式类型转换后都为true,那么返回第最后一个操作数
2、如果第一个操作数隐式类型转换后为false,则返回第一个操作数
3、如果有一个操作数是null,则返回null
4、如果有一个操作数是NaN,则返回NaN
5、如果有一个操作数是undefined,则返回undefined
|| 或
只要有一个条件成立,返回true
说明:在有一个操作数不是布尔值的情况,逻辑或就不一定返回布尔值,此时它遵循以下规则:
1、如果第一个操作数隐式类型转换后为true,则返回第一个操作数
2、如果第一个操作数隐式类型转换后为false,则返回第二个操作数
3、如果两个操作数是null,则返回null
4、如果两个操作数是NaN,则返回NaN
5、如果两个操作数是undefined,则返回undefined
!非
说明:
1、无论操作数是什么数据类型,逻辑非都会返回一个布尔值
2、!!同时使用两个逻辑非操作符时:
第一个逻辑非操作符基于无论什么操作数返回一个布尔值
第二个逻辑非则对该布尔值求反