逻辑与&&、逻辑或||和逻辑非!

当&&和|| 连接语句时,两边的语句会转化为布尔类型(Boolean),然后再进行运算,具体的运算规则如下:

1.&&

1.1两边条件都为true时,结果才为true
1.2如果有一个为false,结果就为false
1.3当第一个条件为false时,就不再判断后面的条件
注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。

2.||

2.1只要有一个条件为true时,结果就为true
2.2当两个条件都为false时,结果才为false
2.3当一个条件为true时,后面的条件不再判断

注意:当数值参与逻辑或运算时,结果为`true`,会返回第一个为真的值;如果结果为`false`,会返回第二个为假的值;

3.!

3.1当条件为false时,结果为true;反之亦然。
上代码说明:

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>demo</title>  
    <script>  
        console.log( 5 && 4 );//当结果为真时,返回第二个为真的值4  
        console.log( 0 && 4 );//当结果为假时,返回第一个为假的值0  
        console.log( 5 || 4 );//当结果为真时,返回第一个为真的值5  
        console.log( 0 || 0 );//当结果为假时,返回第二个为假的值0  
        console.log((3||2)&&(5||0));//5  
        console.log(!5);//false  
    </script>  
</head>  
<body>  
  
</body>  
</html> 



补充:逻辑与的优先级是高于逻辑或的;

比如console.log(3||2&&5||0),会先算2&&5的值为5,然后再3||5----3,最后再3||0----3,所以最终结果为3.


扫描二维码,在手机上阅读!