javascript - 即使应该进入循环也不进入循环

标签 javascript

我在 javascript 中遇到循环问题。
我突然遇到一个奇怪的问题,对于某些值,我的循环不会触发,即使它看起来应该触发。

var j = holiday_starts;

console.log(j);
console.log(holiday_ends);

if (j<=holiday_ends){
    console.log("TRUE");
}

在本例中,holiday_starts 为 6,holiday_ends 为 10(通过控制台日志检查)。这不是记录真实的。它只发生在某些情况下,而不发生在其他情况下。

如果我直接设置变量(j = 6,holiday_ends = 10),那么它将记录 TRUE。

我错过了什么?这是由于我的代码中的其他内容造成的吗?

最佳答案

我怀疑您将 Holiday_starts 和 Holiday_ends 作为字符串(可能来自用户输入?)。发生这种情况时,比较将作为字符串进行,并且 6 在字母表中位于 1 之后,“6” < “10” 为 false,如以下代码段所示:

var holiday_starts = "6";
var holiday_ends = "10";
var j = holiday_starts;

console.log(j);
console.log(holiday_ends);

if (j<=holiday_ends){
    console.log("TRUE");
}

在这种情况下,您应该在比较之前parseInt输入,以下代码片段按预期工作:

var holiday_starts = parseInt("6");
var holiday_ends = parseInt("10");
var j = holiday_starts;

console.log(j);
console.log(holiday_ends);

if (j <= holiday_ends) {
  console.log("TRUE");
}

关于javascript - 即使应该进入循环也不进入循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42439747/

相关文章:

javascript - jqgrid 分组并一起滚动

javascript - 复选框列表的奇怪字母排序

javascript - 使用Jquery根据条件动态添加cssClass

javascript - 为什么不能直接从 Fetch API 的响应中访问 JSON?

javascript - 通过ajax填充表非常慢

javascript - gulp 流完成后无法获取文件的更新内容

javascript - 权限更改后,我的 ASP.NET 应用程序似乎没有使用该应用程序的样式表

javascript - 样式化 jQuery 自动完成

javascript - 如何在网页上启用/禁用(实时)javascript 插件?

javascript - 2 Canvas 使用 drawImage 将一个 Canvas 置于另一个 Canvas 的中心