js条件(三元)运算符

针对自己平时比较容易忽略和容易犯错的运算符,做一个比较详细的学习!

条件(三元)运算符(?:)

基本格式  a ? b : c

基本应用

var a = 10; var b = 11;
      a > b ? a++ : b++;
    console.log(a+"\n"+b);
     /*输出a=10,b=12*/

等价于

   if (a > b) {
   	a++;
   } else{
   	b++;
   }
   console.log(a+"\n"+b);
     /*输出a=10,b=12*/

需要注意的是:条件运算符(?:)适合纯粹的求值操作,如果a为true就会返回b,否则返回c,故而条件运算符是需要返回值的,并且b和c必须是可赋值的表达式,不能是break,return..之类的语句,而且从效率上来看,(?:)形式必须求出b或c的值,而if()..else{}只需执行无需保存其返回值,如果忽略返回值得话,if()..else{}的执行效率高于(?:)条件运算符的

用法1:给变量赋值

var d=a > b ? a++ : 0;
     console.log(d);
     /*输出0*/

用法2:给变量赋值2

var a = 1; var b = 2;
    var c;
    a>b?c=a:c=b;
     console.log(c);
     /*输出2*/

用法3:连续判断

var a = 1; var b = 2;
    var e=a>b?a+1:b>10?a-b:b-a>0?a:b
     console.log(e);
     /*输出1*/

用法4:执行多个动作,以逗号分隔,别忘了加()

var a = 1; var b = 2;
    a>b?(console.log(a),a+b):(b+=a+b,console.log(b));
    /*输出5*/

 

转载于:https://my.oschina.net/ThreeTiger/blog/903779

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值