如果您在 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
statement can be used,即语句是否if
可以用作表达式。我不是要求根据各种条件设置值的替代方法。
(如果 anif
不能用作表达式,那么为什么 Firefox 的浏览器控制台会显示上面第一个示例的值?)