如果您在Firefox的浏览器控制台中输入以下内容,则结果为456
:
if (false) { 123; } else if (true) { 456; } else { 789; }
如果您调整了true
/ false
组合,那么您也可以获得123
或789
。但是,如果您尝试执行以下操作:
var a = if (false) { 123; } else if (true) { 456; } else { 789; };
你刚收到语法错误。语法错误并不让我感到惊讶,但我想知道if
语句的含义是什么,如果不能使用该值,则为if
语句。
所以我的问题是:if
语句是否可以用作表达式,如果是,如何使用?
if
语句,即if
语句是否可以用作表达式。我不要求根据各种条件设置值的替代方法。
(如果{{1}}不能用作表达式,那么为什么Firefox的浏览器控制台会显示上面第一个示例的值?)
答案 0 :(得分:3)
您可以使用三元运算符:
var a = false ? 123 : true ? 456 : 789;
答案 1 :(得分:0)
取而代之的是:
function a(b) //where b is your boolean
{
if(b)
{
return 123;
}
else
{
return 456;
}
}
答案 2 :(得分:0)
使用三元运算符:var x =(true?432:765); //将x设置为432
答案 3 :(得分:0)
使用函数而不是直接使用该表达式。然后你还必须返回这些值。
var a=function(){if (false) { return 123; } else if (true) { return 456; } else { return 789; }}
alert(a());