如何在JavaScript中使用内联if语句?也有内联else语句吗?

就像这样:

var a = 2;
var b = 3;

if(a < b) {
    // do something
}

当前回答

如果你只是想要一个内联If(没有ELSE),你可以使用逻辑AND运算符:

(a < b) && /*your code*/;

如果还需要ELSE,则使用其他人建议的三元操作。

其他回答

有一个三元运算符,像这样:

var c = (a < b) ? "a is less than b"  : "a is not less than b";

用简单的英语,语法解释如下:

if(condition){
    do_something_if_condition_is_met;
}
else{
    do_something_else_if_condition_is_not_met;
}

可以写成:

condition ? do_something_if_condition_is_met : do_something_else_if_condition_is_not_met;

这个问题本质上不是:我能写出下面的东西吗?

if (foo)
  console.log(bar)
else
  console.log(foo + bar)

答案是,是的,上面的内容可以翻译。

但是,在做以下事情时要小心

if (foo)
  if (bar)
    console.log(foo)
  else 
    console.log(bar)
else 
  console.log(foobar)

请务必将模棱两可的代码用大括号括起来,因为上述代码将抛出异常(类似的排列将产生不希望看到的行为)。

如果你只是想要一个内联If(没有ELSE),你可以使用逻辑AND运算符:

(a < b) && /*your code*/;

如果还需要ELSE,则使用其他人建议的三元操作。

除此之外,你还可以使用内联if条件和&&和||操作符。 像这样

var a = 2;
var b = 0;

var c = (a > b || b == 0)? "do something" : "do something else";