在 ? 中使用多个条件: javascript 中的语句

Using multiple conditions in ? : statements in javascript

需要检查三个条件并根据条件为变量赋值。

if(a =="z1"){
   b = "one";
} else if(a =="z2"){
   b = "two";
} else if(a =="z3"){
   b = "three";
}

是否可以在 JavaScript 中使用 ? : 语句使其成为单行代码

是的,您可以将其转换为 Conditional(ternary) operator

var a = "z3";
var b = a == "z1" ? "one" : a == "z2" ? "two" : a == "z3" ? "three" : "" ;

console.log(b);


仅供参考: 为了更好的可读性,我建议使用 if...else 语句或使用 switch 语句。虽然你需要为嵌套的三元运算符使用括号以避免在情况复杂的操作中出现问题。

var b = (a =="z1") ? "one" : ((a =="z2") ?"two":(a =="z3")?"three":null);

不要忘记快速阅读这篇文章很难。 用 for one if else 块是完全可以的。

你可以做这些事情:

b=( a=="z1"?"one":(a =="z2"?"two":(a =="z3"?"three":未定义)))

var b = a == "z1" ? "one" : ( a == "z2" ? "two" : ( a == "z3" ? "three" : undefined ) ) ;

a = "z1"

alert(a == "z1" ? "one" : ( a == "z2" ? "two" : ( a == "z3" ? "three" : undefined ) ) );

a = "z2"

alert(a == "z1" ? "one" : ( a == "z2" ? "two" : ( a == "z3" ? "three" : undefined ) ) );

a = "z3"

alert(a == "z1" ? "one" : ( a == "z2" ? "two" : ( a == "z3" ? "three" : undefined ) ) );

a = "z4"

alert(a == "z1" ? "one" : ( a == "z2" ? "two" : ( a == "z3" ? "three" : undefined ) ) );