我想使用javascript三元操作实现以下逻辑。这可能吗?
if(condition1){
console.log("condition1 pass");
} else if(condition2){
console.log("condition2 pass");
} else{
console.log("It is different");
}
答案 0 :(得分:5)
当然,你只需要在另一个内部有一个三元组:
将else if
条件放入:
部分。
console.log(
condition1
? "condition1 pass"
: condition2
? "condition2 pass"
: "it is different"
);
最好不要这样做,因为语法容易出错并且很渺茫,但是,如果函数或IIFE已经在函数内部并将结果直接返回到函数中,则可以将其移动到函数或IIFE中减少循环:
function testCondition(condition1, condition2){
if(condition1){
return "condition1 pass";
} else if(condition2){
return "condition2 pass";
}
return "It is different";
}
var conditionalPass = (function(condition1, condition2){
if(condition1){
return "condition1 pass";
} else if(condition2){
return "condition2 pass";
}
return "It is different";
})(condition1, condition2);
答案 1 :(得分:2)
是的,确实如此。使用以下逻辑:
thisCalendar.datepicker("option", "dateFormat", "dd MM yy");
答案 2 :(得分:1)
有可能但不推荐:
console.log(condition1? "condition1 pass": (condition2? "condition2 pass": "It is different"));
正如您所看到的,代码很难阅读。
答案 3 :(得分:1)
这是可能的,但建议。
console.log(
condition1?//if
"condition1 pass":
condition2?//else if
"condition2 pass"://else
"It is different"
)
正如您所看到的,它很容易阅读。