Javascript 为什么在我的第三个if语句中给我一个0?
当我在第三条if语句中将此代码放入REPL时,我一直得到一个0。在我周围似乎没人能弄明白。你能看出它有什么毛病吗Javascript 为什么在我的第三个if语句中给我一个0?,javascript,Javascript,当我在第三条if语句中将此代码放入REPL时,我一直得到一个0。在我周围似乎没人能弄明白。你能看出它有什么毛病吗 var humanReadable = function (seconds){ var sec = 0; var min = 0; var hr = 0; sec = seconds % 60; min = parseInt((seconds / 60) % 60); hr = parseInt( secon
var humanReadable = function (seconds){
var sec = 0;
var min = 0;
var hr = 0;
sec = seconds % 60;
min = parseInt((seconds / 60) % 60);
hr = parseInt( seconds / 3600 );
if(sec<10){
sec = "0"+sec;
}
if(min<10){
min = "0"+min;
}
if(hr<10){
min = "0"+hr;
}
console.log(hr + ":" + min + ":" + sec);
};
humanReadable(0) // '00:00:00'
humanReadable(5) // '00:00:05'
humanReadable(60) // '00:01:00'
humanReadable(86399) // '23:59:59'
humanReadable(359999) // '99:59:59
var humanReadable=函数(秒){
var-sec=0;
var min=0;
var-hr=0;
秒=秒%60;
min=parseInt((秒/60)%60);
hr=parseInt(秒/3600);
如果(sec我认为您的函数中有输入错误:
if(hr<10){
min = "0"+hr; // should be hr = "0"+hr
}
if(hr我认为您的功能有误:
if(hr<10){
min = "0"+hr; // should be hr = "0"+hr
}
if(hrif(hrif)(hr第三个if语句的主体应该是:hr=“0”+hr;
我还为函数调用添加了分号
运行下面更新的代码,您将看到它生成了所需的输出
var humanReadable=函数(秒)
{
var-sec=0;
var min=0;
var-hr=0;
秒=秒%60;
min=parseInt((秒/60)%60);
hr=parseInt(秒/3600);
if(sec第三个if语句的主体应该是:hr=“0”+hr;
我还在函数调用中添加了分号
运行下面更新的代码,您将看到它生成了所需的输出
var humanReadable=函数(秒)
{
var-sec=0;
var min=0;
var-hr=0;
秒=秒%60;
min=parseInt((秒/60)%60);
hr=parseInt(秒/3600);
if(secWhy you changingmin
当hr
小于10时?对parseInt()
的调用也可能是对Math.floor()的调用
取而代之的是..你所有的例子看起来都很好,有什么问题?@dippas Read Eval Print Loop…基本上是一个交互式控制台当hr
小于10时,你为什么要更改min
?对parseInt()
的调用可能应该是对Math.floor()的调用
相反..你所有的例子看起来都很好,有什么问题吗?@dippas Read Eval Print Loop…基本上是一个交互式控制台如果问题确实是打字错误,问题应该是关闭的,而不是回答的…@FelixKling不知道我有足够的排名来投票关闭…我想如果问题是我,我会在这段时间帮助这个家伙如果输入错误,这个问题应该关闭,而不是回答…@FelixKling不知道我有足够的排名来投票关闭…我想我会在这段时间内帮助这个家伙
if(hr<10){
hr = "0"+hr;
}