【问题标题】:i++ doesn't work in ternary statement [duplicate]i++ 在三元语句中不起作用[重复]
【发布时间】:2018-08-01 20:05:09
【问题描述】:

有人可以向我解释为什么这个语句不起作用吗?

i = (i >= 8 ? 1 : i++);

这个可以吗?

i = (i >= 8 ? 1 : (i + 1));

【问题讨论】:

  • 因为一个人从不这样做i = i++
  • i++ 递增 i 并返回 previous 值,而不是递增值。 (还有,Bergi 所说的。)
  • 阅读后增量与前增量,了解 i++ 的确切含义。它正在工作。
  • 非常感谢大家。
  • 简化为i = (i >= 8 ? 0 : i) + 1;i%=8; i+=1;

标签: javascript ternary


【解决方案1】:

正如雷蒙德所说,您使用的是后增量,您应该在这种情况下使用前增量:

i = (i >= 8 ? 1 : ++i);

【讨论】:

    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 2011-12-01
    • 2013-05-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    相关资源
    最近更新 更多