&& || 非布尔值的情况
--对于非布尔值进行与或运算时,
会先将其转换为布尔值,然后再运算,并且返回原值
--与运算
-如果第一个值为true,必定返回第二个值
-如果第一个值为false,直接返回第一个值
--或运算
-如果第一个为true,则直接返回第一个值
-如果第一个值为false,则必定返回第二个值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>逻辑运算符--非布尔运算符</title>
<script type="text/javascript">
//true&&true
//与运算如果两个值都为true,则返回后边
var result = 1&&2;//2
//false&&true
//与运算,如果两个值中有false,则返回靠前的false
result = 0&&2;//0
result = 2&&0;//0
//false&&false
result = NaN&&0;//0
result = 0&&NaN;//NaN
console.log(result);
//true||false
//如果第一个值为true,则直接返回第一个值
result = 2||1;//2
result=1||2;//1
//如果第一个值为false,则直接返回第二个值
result=NaN||1;//1
result=NaN||0;//0
result = ""||"hello";//"hello"
result = -1||"你好";//-1
</script>
</head>
<body>
</body>
</html>