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

就像这样:

var a = 2;
var b = 3;

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

当前回答

<div id="ABLAHALAHOO">8008</div>
<div id="WABOOLAWADO">1110</div>

parseInt( $( '#ABLAHALAHOO' ).text()) > parseInt( $( '#WABOOLAWADO ).text()) ? alert( 'Eat potato' ) : alert( 'You starve' );

其他回答

如果要内联编写if语句,其中的代码应该只有一条语句:

if ( a < b ) // code to be executed without curly braces;

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

if (a < b) doSomething()

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

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

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

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

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

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

供您参考,您可以组合条件操作符

var a = (truthy) ? 1 : (falsy) ? 2 : 3;

如果您的逻辑足够复杂,那么您可以考虑使用IIFE

var a = (function () {
  if (truthy) return 1;
  else if (falsy) return 2;
  return 3;
})();

当然,如果你计划使用这个逻辑不止一次,那么你必须把它封装在一个函数中,以保持它的美观和DRY。

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

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