如何在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
}
当前回答
用简单的英语,语法解释如下:
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条件和&&和||操作符。 像这样
var a = 2;
var b = 0;
var c = (a > b || b == 0)? "do something" : "do something else";
如果要内联编写if语句,其中的代码应该只有一条语句:
if ( a < b ) // code to be executed without curly braces;
你不一定需要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
我经常需要在每个条件下运行更多的代码,通过使用:(,,)多个代码元素可以执行:
var a = 2;
var b = 3;
var c = 0;
( a < b ? ( alert('hi'), a=3, b=2, c=a*b ) : ( alert('by'), a=4, b=10, c=a/b ) );