【发布时间】:2009-03-24 19:13:29
【问题描述】:
在 javascript 中有几种方法可以做到这一点。
最重要、最易读、最灵活的可能是:
if (a){
//b
}
else {
//c
}
只有*适用于分配且可读性较差的其他内容是:
var foo = 'c';
if (a){
foo = 'b';
}
不过,我的主要问题是关于我能想到的最后两种方法:
var foo = a ? b : c;
var foo = a && b || c;
这两种表达方式有什么不同吗?除了两者都缺乏的可读性。
*虽然您可以将 foo 指定为一个函数,然后在 if 语句之后执行它。
【问题讨论】:
-
学究式:您在技术上讨论条件运算符,它恰好是三元运算符(即对三个元素进行运算的运算符)。
-
对于简短的语句,条件运算符可以比任何成熟的 if 构造更“可读”。
标签: javascript conditional logic boolean