js中的 || ,&&,!运算符

113 篇文章 1 订阅

js中逻辑运算符在开发中可以算是比较常见的运算符了,主要有三种:逻辑与&&、逻辑或||和逻辑非!。

当&&和|| 连接语句时,两边的语句会转化为布尔类型(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;反之亦然。

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

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


转换规则:

对象为true;

非零数字为true;
零为false;

非空字符串为true;
空字符串为false;

其他为false;

例如:

var a = obj || " " ; //如果 obj 为空,a就赋值为 " " ;
var a = check() && do(); //如果check()返回为真,就执行do(),并将结果赋值给 a;

示例:

表达式a && 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 True, 执行表达式b(或函数),并返回b的结果;
如果为 False,返回a的结果;

表达式a || 表达式b : 计算表达式a(也可以是函数)的运算结果,
如果为 Fasle, 执行表达式b(或函数),并返回b的结果;
如果为 True,返回a的结果;

示例代码一:

<!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>

示例代码二:

window.onload = function () {  
var mama
,  mama1
,  test = function (name) { 
           debugger;  
           this.name = name || 'mama';  
          };  
debugger;  
mama = new test();  
mama1 = new test("mama1");  
alert(mama.name);//name = mama  
alert(mama1.name);// name = mama1 
}

在执行构造函数的时候,无参的构造函数返回的name是'mama',有参数时,实例的name就是参数值了。

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙-极纪元JJY.Cheng

客官,1分钱也是爱,给个赏钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值