【问题标题】:if else-works,if else with ternary operator doesn't workif else-works, if else with 三元运算符不起作用
【发布时间】:2017-03-25 04:16:18
【问题描述】:

我有简单的 if/else 语句,它可以正常工作,但是当我使用三元运算符将其替换为 if/else 语句时不起作用。

  if (UPorDOWN == -1 ) {
    SEC_IN_VIEW++
  } else{
    SEC_IN_VIEW--
  }

这行得通,但是如何使用带有三元运算符的 if/else 语句来实现它。 我试过了。

   (UPorDOWN == -1 ) ? SEC_IN_VIEW++ : SEC_IN_VIEW--

很抱歉,但实际上问题出在上一行,它没有“;”最后,但线路太长而且不在视线范围内,我完全忘记检查了。

【问题讨论】:

  • 它在我的控制台中为我工作。你通常期望什么结果,当你使用三元运算符时会发生什么?
  • 顺便说一句,我在 for 循环中使用它,所以 UPorDown 显示部分(SEC)的走向,(我使用的是 Math.sign),这应该决定 SEC_IN_VIEW 是否应该在每次 for 循环迭代时递增或递减
  • 似乎工作得很好
  • using if/else statement with ternary operator - 你能发布一些使用 if/else 和三元运算符的代码吗,因为你发布的只是一些 if/else 代码和一些三元运算符代码,没有使用 if 的代码/else 带三元运算符
  • 看最后一行,有三元运算符

标签: javascript if-statement ternary-operator


【解决方案1】:

尝试赋值:

SEC_IN_VIEW = (UPorDOWN == -1 ) ? SEC_IN_VIEW+1 : SEC_IN_VIEW-1;

SEC_IN_VIEW = (UPorDOWN == -1 ) ? SEC_IN_VIEW++ : SEC_IN_VIEW--;

【讨论】:

  • 实际上它只工作一次,我的意思是只在第一次循环迭代时工作
  • 所以我猜有一些逻辑错误。到底是什么失败了?
猜你喜欢
  • 1970-01-01
  • 2010-12-12
  • 2021-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多