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

就像这样:

var a = 2;
var b = 3;

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

当前回答

如果你只是想要一个内联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";

简化三元运算符

var locked = 1;
var canChange = locked != 1 ? true : false;

如果锁定为1,则canChange变量被设置为false,否则,它被设置为true。 在这种情况下,你可以使用一个布尔表达式来简化它,如下所示:

var locked = 1;
var canChange = locked != 1;

用于多个JavaScript三元运算符 下面的例子展示了如何在同一个表达式中使用两个三元运算符:

var speed = 90;
var message = speed >= 120 ? 'Too Fast' : (speed >= 80 ? 'Fast' : 'OK');
console.log(message);

当三元运算符使代码更易于阅读时,使用它是一种最佳实践。如果逻辑包含很多If…Else语句,你不应该使用三元操作符。

Inline if在JavaScript中很简单,不需要大括号:

if (a < b) doSomething()

从技术上讲,你可以在同一行中有一个else,但它需要一个分号:

if (a < b) doSomething(); else doSomethingElse()

您的团队的编码标准可能不需要上面的示例。最重要的是你要遵循适合你的团队的惯例。就我个人而言,在许多情况下,我更喜欢if语句而不是三元语句,因为我发现它们更容易阅读。

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

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, else。

三元操作,调用两个结果的函数:

(a < b) ? DoSomething() : DoSomethingElse();

三元运算,只对其中一个结果调用函数:

(a < b) ? DoSomething() : {}; or (a < b)?.DoSomething();