【问题标题】:If statement: Condition is true, but code block is not executingif 语句:条件为真,但代码块未执行
【发布时间】:2021-04-11 08:15:20
【问题描述】:

我有一个函数可以在两个数字之间给我一个随机数。该功能有效。 我在函数下面有一个条件语句,它应该将我的变量从 false 更改为 true,但是当我 console.log 变量时,它仍然是 false。我的条件语句是真的,当我console.log actualGetRandom 时,结果是10 或11,但是大括号之间的代码没有被执行。不知道为什么,需要一些输入。谢谢。

function getRandomIntInclusive(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

var isBetween10And11 = false;
var actualGetRandom = getRandomIntInclusive(10, 11);
if (actualGetRandom >= 10 && actualGetRandom <= 11) {
  console.log("I'm here");
  isBetween10and11 = true;
}

【问题讨论】:

  • 是的,它被执行了。如果您运行 sn -p,您将看到输出。但是您分配了两个不同的变量isBetween10And11isBetween10and11。注意大写A 和小写a

标签: if-statement conditional-statements


【解决方案1】:

if 语句被执行!

您的代码中有错字,导致不一致:

var isBetween10And11 = false;
...
    isBetween10and11 = true;

变量定义:...And... 变量...and...的使用


  • 避免这种情况的最佳方法:使用带有自动完成功能的编辑器并经常使用它。
  • 发现它的最佳方法:使用调试器

【讨论】:

  • 当我正在使用 replit 时,当我突出显示该变量时,所有其他变量都会亮起,我认为这意味着变量是正确的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2023-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 2012-11-30
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多