Javascript 为什么在我的第三个if语句中给我一个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

当我在第三条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( 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(hr
if(hr
if)(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 changing
min
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;
}