js 短路表达式

定义一个计算圆面积的函数areaCircle(),它有两个参数:

 r: 表示圆的半径  
 pi: 表示π的值,如果不传,则默认3.14

 function areaCircle(r, pi) {

 }      
 if写法:

    if(arguments.length>=2){
        return pi*r*r;
    }else if(arguments.length==1){
        return 3.14*r*r;
    }else{
        return false;
    }
复制代码

三目运算:
    return r*r*( arguments.length >= 2 ? pi : 3.14 );
复制代码

短路表达式:
复制代码
    return r * r * (pi || 3.14);
复制代码

短路表达式的补充:

1、逻辑与 && 的运算方式
    var a = 1 && 2;
    
    console.log(a); //返回的结果为 2
复制代码

    如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。
复制代码
    var a = false && 2;

    console.log(a); //返回的结果为 false
复制代码

如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。

2、逻辑或 || 的运算方式
    var a = false || 2;
    
    console.log(a); //返回的结果为2
    
    var a = true || 2;
    
    console.log(a); //返回的结果为 true
复制代码

如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。 如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)

转载于:https://juejin.im/post/5cee001df265da1b8d15fe9e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值