码迷,mamicode.com
首页 > Web开发 > 详细

JS 巧用 && 与 ||

时间:2017-10-19 15:59:07      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:不同的   操作   span   大于   三目运算   语句   运算符   返回   color   

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

1 if (条件){
2   //代码块  
3 }else{
4   //代码块
5 }

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

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

举个例子:

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

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

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

1 var num1 = 102 var num2 = 20;
3 
4 // 第一种方式 也可以使用 三目运算符
5 alert( num2 > mum1 ? num2 : num1 );
6 
7 //第二种方式  就是使用 && ,||
8 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;

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

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

JS 巧用 && 与 ||

标签:不同的   操作   span   大于   三目运算   语句   运算符   返回   color   

原文地址:http://www.cnblogs.com/Beck-Z/p/7692670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!