js中if的另类实现

  偶然发现一篇有意思的博客《JS利用短路原理简写if语句》  利用&&短路来实现if的简写。

如 1==2&&a1=1,则后面的a1=1不会进行判断,1==1&&a1=1则进行赋值并去表达式的返回值。

如是多行表达式呢? 只要继续进行&&运算,并且前面的表达式为TRUE即可。

譬如 :

  if(1==1){
     a1=1;
     a2=2;
 }

用&&运算则可写成:

 1==1&&(a1=1||true)&&(a2=2)

 如果是更多个,再把前面的表达式设为TRUE

 1==1&&(a1=1||true)&&(a2=2||true)&&(a3=3)

 也可以使用逗号进行分隔多个表达式

1==1&&(a1=11,a2=22,a3=1==1?3:1)
原文地址:https://www.cnblogs.com/townsend/p/4033049.html