在if语句中检查多个表达式时,如何确定哪个表达式为真

时间:2018-10-22 09:42:19

标签: javascript if-statement

我想知道(几乎出于好奇)在jquery中是否有一种方法可以确定if语句中是否有这样的多项检查

if (expression1 || expresison2 || expression3){
   ...
}

哪个(或多个)是真实的,以及是否有参数或将其放入if语句中的内容。

例如:

if(expression1 || expression2 || expression3){
   console.log( { the truthy expression } ) // Log in console: expression1
}

这再次是出于我的好奇心,因为我在网上找不到任何东西。我知道我可以拆分语句或对此进行不同的检查

1 个答案:

答案 0 :(得分:2)

这里没有jQuery,只有Javascript。一种选择(尽管很丑陋)将是在if条件内分配一个变量,然后打印出该变量:

const a = '';
const b = 'foo';
const c = false;
let result;
if(result = (a || b || c)){
  console.log(result);
}

但是,如果有result语句,则尽可能将其分配给if 外部,许多短毛猫会抱怨if内部的赋值:

const a = '';
const b = 'foo';
const c = false;
const result = a || b || c;
if(result){
  console.log(result);
}