【问题标题】:Beginner javascript hour function初学者javascript小时功能
【发布时间】:2013-04-29 13:23:39
【问题描述】:

我对 javascript 非常陌生,希望能帮助我理解这个问题。

我正在尝试编写一个函数来检查当前时间是否在 hourOne 和 hourTwo 之间,这就是我目前所拥有的:

function checkHourBetween (hourOne, hourTwo)
{
var date = new Date();
var currentHour = date.getHours();

if (currentHour >= hourOne && currentHour <= hourTwo)
    {
        return true;
    }

return false;
}

我正在尝试使用:

if(checkHourBetween(12, 18))
{
//action
}

我在if 语句中使用了一个简单的document.write("Hello World") 对此进行了测试,只是为了看看它是否有效,但什么也没得到。我现在的时间在规定的时间内。

我确信有更好的方法来做到这一点(除了 javascript),但我很想知道我写的东西哪里出了问题。

【问题讨论】:

  • seems fine to me。但请注意,您 could simplify it a bit.
  • @Mathew:它应该可以正常工作。如果您愿意,可以使用的一个技巧是将您的函数更改为一行:return currentHour &gt;= hourOne &amp;&amp; currentHour &lt;= hourTwo;(因为该表达式的计算结果为truefalse,您可以直接返回它)。
  • 尝试将alert(currentHour); 添加到您的函数中,看看会发生什么。
  • var currentHour = date.getHours(); 之后添加console.log(currentHour); 并检查JavaScript Console 以查看结果是否符合您的预期。 currentHour 可能不在 12 到 18 之间。
  • @Mathew Harrington +1 表示“这是我目前所拥有的”。除特定情况外,如果可能,我会尽量避免使用 document.write() 。还有很多其他方法可以使用 javascript 插入内容。

标签: javascript function time hour


【解决方案1】:

据我所见,代码没有问题,也许您的代码中的其他地方有问题。尝试使用 firebug 或 Chrome(无需插件)在 FireFox 中运行它,按 F12 并查看控制台。

function checkHourBetween (hourOne, hourTwo)
{
var date = new Date();
var currentHour = date.getHours();
console.log("currenthour is:",currentHour);
console.log("hourOne is:",hourOne);
console.log("hourTwo is:",hourTwo);
if (currentHour >= hourOne && currentHour <= hourTwo)
    {
        console.log("returning true");
        return true;
    }
console.log("returning false");
return false;
}

【讨论】:

  • 非常感谢你们的快速响应,有一个问题进一步搞砸了。 console.log 对调试非常有用,我还没有看到,所以再次感谢每个 javascript 新手。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 2022-12-09
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多