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

就像这样:

var a = 2;
var b = 3;

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

当前回答

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

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

其他回答

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

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

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

(条件)?expressionTrue: expressionFalse;

例子

int a=20, b=10;

if (a>b) {
  cout << "a greater than b";
} else {
  cout << "b greater than a";
} 

你可以简单地写:

int a=20, b=10;

(a>b) ? cout << "a greater than b" : cout << "b greater than a";

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

var a = 2;
var b = 0;

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

内联如果:

(('hypothesis') ? 'truthy conclusion' : 'falsey conclusion')

真结论:当假设为真时执行的陈述

谬误结论:当假设为假时执行的陈述

你的例子:

var c = ((a < b) ? 'a<b statements' : '!(a<b) statements');

简化三元运算符

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语句,你不应该使用三元操作符。