JS 巧用 && 与 ||

2018-06-24 00:34:35来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在对于流程控制语句当中,我们最熟悉不过的就是

 if( 条件 ){
   //代码块  
 }else {
   //代码块
 }

对于一个执行不同的代码来说,如果执行的代码很多,可能就有必要使用上面这种方式

但往往我们开发当中,也会碰到一些赋值操作,如果使用上面方式,未免显得太过冗余。

举个例子:

var num1 = 10;
var num2 = 20;
// 假如 num2 > num1 就 alert( num2 ) 否则 alert( num1 )
// 可能见到的写法会有以下方式
if( num2 > num1 ){
alert( num2 );
}else{
  alert( num1 );
}

可以看见以上方式,只是输出一个结果,却用了五行代码来去实现。

接下来,我们见证下怎么使用一行代码去替代上面五行代码实现的结果

 var num1 = 10var num2 = 20;
 
 // 第一种方式 也可以使用 三目运算符
 alert( num2 > mum1 ? num2 : num1 );
 
 //第二种方式  就是使用 && ,||
 alert( num2 > num1 && num2 || num1 ); 

使用 &&,|| 比三目运算的优势在于,它可以判断多个条件,也可以单独使用

举个 && 例子:

var num1 = 10;
var num2 = 5;

// 假如 num1,num2 都大于10 则输出 num1+num2;
   var result = num1>10 && num2 >10 && num1+ num2 || 0;
       alert(result);

我们开发知道,在开发当中,读取后端返回的数据可能因某种原因而未读取到,那么接收的数据如果是对象,都会在接收该字段的时候额外加上没有获取到时的字段

举个 || 例子:

var  reuslt = res && res.data || [];
      if ( result.length ) return;

使用这种方式,可以通过条件判断是否使用该变量,假如是对象,如果没有获取到,而使用该对象属性,则会报错。

而避免这种模式,就是在使用的时候,一定要判断,判断,判断

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:js 两个日期比较相差多少天

下一篇:JS基础---常见的Bom对象