JavaScript逻辑运算符 Boolean类型和非Boolean类型

本文深入探讨了JavaScript中布尔类型的逻辑运算,包括非运算(!)、与运算(&&)和或运算(||)。通过示例展示了如何使用这些运算符进行布尔值的取反和与其他数据类型的隐式转换。同时,文章还讨论了非布尔值在与运算和或运算中的行为,解释了它们如何被转换为布尔值并返回原始值。这些概念对于理解和优化JavaScript代码至关重要。
摘要由CSDN通过智能技术生成

布尔类型

<script type="text/javascript">
        // 布尔值的逻辑运算
        // !非运算对一个值进行非运算
        // 对一个布尔值进行取反操作
        // 如果一个值进行两次取反他不会变化
        // 如果对一个非布尔值进行运算 则会将其转化为布尔值 然后再取反
        // 隐式类型转换:可以 利用该特点来将一个其他数据类型转换为布尔类型
        // 原理和Boolean()函数一样
        //  例:!!a;
        var a = 123;
        a = !!a;
        console.log(a);


        // && 与 运算对符号两边的数进行运算并返回结果
        //全真才为真 有假即为假
        // 但是第一值为true会检查第二个
        // 第一个值为false不会检查第二个值
        var result = true && true;
        console.log("result= " + result);
        var result1 = true && false;
        console.log("result= " + result1);
        var result2 = false && true;
        console.log("result= " + result2);
        var result3 = false && false;
        console.log("result= " + result3);


        // ||  或 运算
        // 只要有一个true就返回true全检测

        var result0 = true || true;
        console.log("result= " + result0);
        var result11 = true || false;
        console.log("result= " + result11);
        var result22 = false || true;
        console.log("result= " + result22);
        var result33 = false || false;
        console.log("result= " + result33);

    </script>

非布尔类型

 <script type="text/javascript">
 // &&对于非布尔值进行与或运算
        // 会先将其转换为布尔值进行运算并且返回原值
        // true && true
        var result1 = 5 && 6;//6    全为真返回第二个
        console.log(result1);

        //false && true
        var result2 = 0 && 2;//0   有假就返回假
        console.log(result2);

        //true && false
        var result3 = 2 && 0;//0   有假就返回假
        console.log(result3);

        //false && false
        var result4 = 0 && NaN;//0   都为false返回第一个false
        console.log(result4);

        //false && false
        var result5 = NaN && 0;//NaN  都为false返回第一个false
        console.log(result5);


        //||对于非布尔值进行或运算

        //true||true
        var result6 = 1 || 2;// 返回:1  第一个值为true则返回第一个值
        console.log(result6);
        //false||true 
        var result7 = 0 || 2;//  返回:2  第一个为false直接返回第二个值
        console.log(result7);
        //false||false
        var result8 = "" || NaN; // 返回:NaN第一个为false直接返回第二个值
        console.log(result8);
        //false||false
        var result9 = NaN || ""; // 返回:""   第一个为false直接返回第二个值
        console.log(result9);


    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值