如何在JavaScript中使用内联if语句?也有内联else语句吗?
就像这样:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
如何在JavaScript中使用内联if语句?也有内联else语句吗?
就像这样:
var a = 2;
var b = 3;
if(a < b) {
// do something
}
当前回答
供您参考,您可以组合条件操作符
var a = (truthy) ? 1 : (falsy) ? 2 : 3;
如果您的逻辑足够复杂,那么您可以考虑使用IIFE
var a = (function () {
if (truthy) return 1;
else if (falsy) return 2;
return 3;
})();
当然,如果你计划使用这个逻辑不止一次,那么你必须把它封装在一个函数中,以保持它的美观和DRY。
其他回答
用简单的英语,语法解释如下:
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;
供您参考,您可以组合条件操作符
var a = (truthy) ? 1 : (falsy) ? 2 : 3;
如果您的逻辑足够复杂,那么您可以考虑使用IIFE
var a = (function () {
if (truthy) return 1;
else if (falsy) return 2;
return 3;
})();
当然,如果你计划使用这个逻辑不止一次,那么你必须把它封装在一个函数中,以保持它的美观和DRY。
你可以使用三元运算符,它等同于一个简单的if, else。
三元操作,调用两个结果的函数:
(a < b) ? DoSomething() : DoSomethingElse();
三元运算,只对其中一个结果调用函数:
(a < b) ? DoSomething() : {}; or (a < b)?.DoSomething();
你不一定需要jQuery。JavaScript本身就可以做到这一点。
var a = 2;
var b = 3;
var c = ((a < b) ? 'minor' : 'major');
如果值为真,则c变量为次要值,如果值为假,则为主要值。
这被称为条件(三元)运算符。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Conditional_Operator
Inline if在JavaScript中很简单,不需要大括号:
if (a < b) doSomething()
从技术上讲,你可以在同一行中有一个else,但它需要一个分号:
if (a < b) doSomething(); else doSomethingElse()
您的团队的编码标准可能不需要上面的示例。最重要的是你要遵循适合你的团队的惯例。就我个人而言,在许多情况下,我更喜欢if语句而不是三元语句,因为我发现它们更容易阅读。