标签:不同的 操作 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 = 10; 2 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;
使用这种方式,可以通过条件判断是否使用该变量,假如是对象,如果没有获取到,而使用该对象属性,则会报错。
而避免这种模式,就是在使用的时候,一定要判断,判断,判断
标签:不同的 操作 span 大于 三目运算 语句 运算符 返回 color
原文地址:http://www.cnblogs.com/Beck-Z/p/7692670.html