JavaScript基础知识-逻辑运算符
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.JavaScript源代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>逻辑运算符</title> <script type="text/javascript"> /** * Js中我们提供了三种逻辑运算符: * 非("!"): * 可以用来对一个值进行非运算,所谓非运算就是对一个布尔值进行取反操作,如true取反变false,false取反变true; * 如果对一个值进行两次取反,它不会变化,可以为一个任意数据去两次反,来将其转换为布尔值,原理和Boolean()函数一样; * 如果对非布尔值进行运算,则会将其转换为布尔值,然后再取反,所以我们可以利用该特点,来将一个其它的数据类型转换为布尔值; * * 与("&&"): * 可以对符号两侧的值进行与运算并返回结果,两个值只要有一个值为false就会返回false,只有两个值都为true时才会返回true; * JS中的与运算属于"短路与",即第一个值为false就不会检查第二个值; * * 或("||"): * 可以对符号两侧的值进行或运算并返回结果,两个值只要有一个值为true就会返回true,如果两个值都为false才会返回false; * JS中的或运算属于"短路或",即第一个值为true就不会检查第二个值; */ var a = true; a = !a; var b = "yinzhengjie"; b = !!b; console.log("a = " + a); console.log("b = " + b); var c = true && true; var d = true && false; console.log("c = " + c); console.log("d = " + d); /** * 非布尔值的与或运算: * 会先将其转换为布尔值,然后再运算,并且返回原值,由于JS中与是短路与,因此与运算规则如下: * 如果第一个值为true,则必然返回第二个值; * 如果第一个值为false,则必然返回第一个值; * * 同理,由于JS中与是短路或,因此或运算规则如下: * 如果第一个值为true,则直接返回第一个值; * 如果第一个值为false,则返回第二个值; * */ var e = 10 && 20; //true && true,两个值都为true,则返回后面的一个; var f = 0 && 10; //false && true,两个值中有false,则返回靠前的false; var g = NaN && 0; // console.log("e = " + e); console.log("f = " + f); console.log("g = " + g); var h = 30 || 50; //true || true,两个值都为true,则直接返回第一个值 var i = -1 || "2019" //true || true console.log("h = " + h); console.log("i = " + i); </script> </head> <body> </body> </html>
二.浏览器打开以上代码渲染结果