&& || 非布尔值的情况
会先将其转换为布尔值,然后再运算,并且返回原值
与运算:
如果第一个值为true,则必然返回第二个值
如果第一个位false,则直接返回第一个值
JS中的与属于短路与如果第一个值为false则不会看第二个值
截图:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
/*
&& || 非布尔值的情况
会先将其转换为布尔值,然后再运算,并且返回原值
与运算:
如果第一个值为true,则必然返回第二个值
如果第一个位false,则直接返回第一个值
JS中的与属于短路与如果第一个值为false则不会看第二个值
*/
var result = 5 && 6
console.log(result)//6 如果第一个值为true,则必然返回第二个值
var a = 0 && 6
console.log(a)//0 如果第一个位false,则直接返回第一个值
var b = 6 && 0
console.log(b)//0 如果有false则返回false的值
var c = null && 0
console.log(c) //null 如果两个值都是false则返回靠前的false的值
false&&alert('hhh')//alert方法不会执行
true&&alert('hhh')//alert方法会执行
</script>
</html>