逻辑或
|| 或(只要有一个条件成立,返回true)
说明:
在有一个操作数不是布尔值的情况下,逻辑或操作不一定返回值,此时它遵循下列规则:
- 如果第一个操作数隐式类型转换后为true,则返回第一个操作数1
- 如果第一个操作数隐式类型转换后为false,则返回第二个操作数1
- 如果有两个操作数是null,则返回null
- 如果有两个操作数是NaN,则返回NaN
- 如果有两个操作数是undefined,则返回undefined
逻辑非
! 非
说明:
- 无论操作数是什么数据类型,逻辑非都会返回一个布尔值
- !! 同时使用两个逻辑非操作符时:
– 第一个逻辑非操作会基于无论什么操作数返回一个布尔值
– 第二个逻辑非则对该布尔值求反
编程练习
我们使用“或”运算符“||”判断以下三组数据的返回结果:
第一组: x=NaN,y=undefined,z=1;
第二组:m=1,n=“0”,j=33;
第三组:a=!(!undefined),b=!0;
任务
- 声明三组变量并赋值
- 用逻辑操作符“或”对着三组数进行运算:x||y||z、m||n||j、a||b
- 页面上输出三组数据的结果
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>逻辑操作符</title>
</head>
<body>
<script> var x=NaN,y=undefined,z=1; var m=1,n="0",j=33; var a=!(!undefined),b=!0; document.write(x||y||z); document.write(m||n||j); document.write(a||b); </script>
</body>
</html>