Javascript短缺(num> 0)?num:0

时间:2014-02-25 15:17:38

标签: javascript sum formula

有没有办法在javascript中写(num>0)?num:0甚至更短?

原因是num变量尚未定义,在上述情况下需要计算两次。

使用另一个词,a和b是已知的。我想写(a>b)?(a-b):0甚至更短。这可能在JavaScript中?谢谢。

2 个答案:

答案 0 :(得分:1)

编辑后回答:

我可能继续进行减法,然后进行测试:

num = a - b;
if (num < 0) {
    num = 0;
}

但是

num = a > b ? a - b : 0;

......看起来也很完美。

请记住,在出现问题之前进行优化(“过早优化”)通常是浪费时间。这通常是正确的,但在JavaScript中它尤其为真,因为不同的引擎表现不同。

在编辑前回答

不,我认为没有更短的方法可以写出来。

  

原因是num变量尚未定义,需要在上述情况下计算两次。

如果您的意思是num实际上是一个计算,那么将其缓存到变量:

var num = /*...the calculation...*/;
var result = num > 0 ? num : 0;

答案 1 :(得分:1)

这个怎么样:

Math.max(num, 0)

如果num小于0,则此表达式将返回0,否则为num本身。