【问题标题】:Shorthand Addition Operator together with Shorthand If/Else - Javascript速记加法运算符和速记 If/Else - Javascript
【发布时间】:2012-04-21 23:08:30
【问题描述】:

是否可以使用加减运算符的简写number += 1 和 if / else number = (true ? 1 : 0); 的简写在一起?

条件决定加法还是减法。

比如这样:number = (true ? +=1 : -=1);

【问题讨论】:

  • 你知道一个数减去那个数吗?你应该这样想问题……

标签: javascript if-statement addition shorthand


【解决方案1】:

你可以使用这样的东西:

number += 1 * (condition ? 1 : -1);

【讨论】:

  • @FelixKling 否定,用于减法。
  • @Joseph:嗯? 1 * -1 == -11 * 1 == 1... 我看不出需要 1 * 做什么。 number + (1 * -1)number + (-1) 相同。
  • n = 5,然后让我们加或减3,所以n+= (-3) or (3)取决于条件。我就是这么看的。
  • @Joseph:啊,我现在明白了... 另一个数字的例子会更好。例如。您的-33 示例对我来说会变成1 * (condition ? 3 : -3)1 * 是不必要的),而您将其视为3 * (condition ? 1 : -1)。这不是关于哪种方式更好,我只是感到困惑。有趣的是,可以用哪些不同的方式来解释这样一件小事:)
  • @FelixKling 我真的很困。我怎么就错过了。 XD
【解决方案2】:

如果您想使用+= 运算符,您需要首先声明变量,否则无法工作。如果你有它,那么你可以简单地拥有:

number += condition ? 1 : -1;

请注意,如果您只有数字 1-1,并且 condition 是布尔值,您可以执行以下操作:

number += +condition || -1;

确切地说,返回 1true 和其他 false 的东西。

【讨论】:

    【解决方案3】:

    这应该可以工作并且具有加减运算的效果

    var number = 0;
    number += (condition) ? (1 * (<operation>)) : (-1 * (<operation>));
    

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 2013-07-18
      • 1970-01-01
      • 2014-08-08
      • 2016-10-06
      • 2012-02-11
      • 2011-07-17
      • 2016-12-26
      相关资源
      最近更新 更多