2013-04-29 80 views
0

我对javascript很陌生,希望对理解这个问题有所帮助。初学者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除外),但很想知道我在哪里写错了。

+3

它[对我来说似乎很好](http://jsfiddle.net/cnDnw/)。但请注意,你[可以简化它](http://jsfiddle.net/cnDnw/1/)。 – 2013-04-29 13:27:03

+2

@ Mathew:它应该工作得很好。如果你喜欢,你可以使用的一个技巧是将你的函数改成一行:'return currentHour> = hourOne && currentHour <= hourTwo;'(因为该表达式的计算结果为“true”或“false”,你可以直接返回)。 – 2013-04-29 13:28:18

+2

尝试在你的函数中加入alert(currentHour);'看看会发生什么。 – ASGM 2013-04-29 13:28:20

回答

0

就我所见,代码没有问题,也许代码中的其他地方出现错误。尝试在FireFox中使用萤火虫或Chrome(无需插件)按下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; 
} 
+0

非常感谢快速回复的人,还有一个问题进一步恶化了事情。 'console.log'对于调试非常有用,我还没有被显示过,所以再次感谢javascript新手每个人。 – 2013-04-29 13:46:35