【问题标题】:JavaScript: force 0 to be a Number so it can increment properly [duplicate]JavaScript:强制 0 为数字,以便它可以正确递增 [重复]
【发布时间】:2017-11-14 22:50:51
【问题描述】:

出于某种奇怪的原因,它不值得修补。当我需要它增加时,它追加。是的,我读过this 和this aaa 和this(这不起作用),但对于这样一个简单的案例,它们(根本)没有帮助。 :poop: 我想要做什么,是这样的:

  var status = 0;
  console.log('status: '+status);
  status += 1;
  console.log('status: '+status);
  status += 2;
  console.log('status: '+status);
  status += 3;
  console.log('status: '+status);
  ...

但它输出的只是0,01,012,0123,而不是0,1,3,6。是的,这很简单,但这就是我对这个特定实现以及与之相关的东西所需要的。此外,步骤很重要;否则,我只需要status++,我显然也不想要其中的 26 行。干,对吧?

我已经尝试过这样做,var status = Number(0); 和 var status = parseInt(0) 是为了好玩(它不会起作用,但无论如何都要尝试),甚至尝试过 status = status + 1'(毫无意义的变体,但涵盖了基础......)和没有工作。我错过了什么?我了解this,但不知道如何制作0 == Number(0),因为它是。我认为增量的存在是为了防止这种愚蠢的行为......它愚蠢的数学,看在上帝的份上......

所以。我如何强制零为 Number 以便增量可以根据需要工作并在沿途的每一步输出一个number?

【问题讨论】:

  • 您发布的代码不会像您说的那样做。 编辑哦。
  • 好像status是一个窗口变量,你应该考虑改名。
  • 问题是您在全局范围内运行代码,而status 是一些真正想要成为字符串的window 属性。把变量名改成“timothy”或者“riceNoodle”就可以了。
  • 按我的预期工作!状态:0 状态:1 状态:3 状态:6
  • @fedeghe 可能取决于环境;例如,它几乎可以肯定在 Node 中工作。

标签: javascript numbers increment


【解决方案1】:

status = +status + 1 会做多吗?还是黑客+status++?

【讨论】:

  • 这可能有点用,但最好避免踩到任何全局符号。
  • 是的,你完全正确
猜你喜欢
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2015-12-08
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
相关资源
最近更新 更多