用javascript写这个的最短方法?

时间:2012-04-27 04:14:47

标签: javascript

我想实现这个:

//foo is a boolean
if(foo){
    count++;
} else {
    count--;
}

我怎么能用一个班轮写这个?

7 个答案:

答案 0 :(得分:11)

foo ? count++ : count--;

这称为三元运算符,请参阅Operator precedence with Javascript Ternary operator

最简单的解释是: if this ? then this : else this

答案 1 :(得分:9)

试试这个:

count += foo ? 1 : -1

答案 2 :(得分:5)

使用short-circuit evaluation和javascripts dynamic typing这应该是最短的:

count += foo || -1;

答案 3 :(得分:3)

最简单的方法是保留现有的逻辑并转换为三元:

count += foo ? 1 : -1;

答案 4 :(得分:1)

您可以将foo视为一个数字,具体为10

count += 2 * foo - 1;

答案 5 :(得分:0)

 count = (foo) ? count+1 : count-1;

答案 6 :(得分:0)

请试试这个:

foo ? count++ : count--;