偶然发现一篇有意思的博客《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)