javascript中&&和||的另类用法


1、正常情况下的逻辑运算

if(a&&b){
    //dosomething
}
if(a||b){
    //dosomething
}

这种情况就不多描述了

2、选择性执行语句

例如:

a()||b() //当执行a()并返回值为真时,表达式返回a的值;当执行a()并返回值为假时,则表达式返回b的值
a()&&b() //当执行a()并返回值为真时,表达式返回b的值;当执行a()并返回值为假时,则表达式返回a的值

举例:

当a==1时b=2;

当a==2时b=3;

当a==3时b=4;

当a==4时b=5;

否则,b=0;

以往用if...else语句可以这样写

var b = 100;
if(a==1){
	b=2;	
}
else if(a==2){
	b=3;
}
else if(a==3){
	b=4;
}
else if(a==4){
	b=5;
}
else{
	b=0;
}

也可以用switch case语句

var b = 100;
switch(a){
    case 1:
        b=2;
        break;
    case 2:
        b=3;
        break;
    case 3:
        b=4;
        break;
    case 4:
        b=5;
        break;
    default:
        b=0;
        break;
}

接下来用&&、||选择性执行语句

var b=100;
b=(a==1&&2)||(a==2&&3)||(a==3&&4)||(a==4&&5)||0;


还有更简洁的写法:

var b=100;
b={'1':2, '2':3, '3':4, '4':5}[a]||0;
原文地址:https://www.cnblogs.com/dkwlxq/p/3242678.html