我不明白if {}陈述

时间:2019-01-29 13:23:10

标签: javascript

我在网页上用这个代码做了一个时钟,它可以正常工作,但是我想知道这段代码中的if {}语句是做什么的,我不知道它在做什么。

有人可以帮我吗? :D

function startTime() {
  today = new Date();
  h = today.getHours();
  m = today.getMinutes();
  s = today.getSeconds();
  m = checkTime(m);
  s = checkTime(s);

  document.getElementById('reloj').innerHTML = h + ":" + m + ":" + s;
  t = setTimeout('startTime()', 500);
}

function checkTime(i) {
  if (i < 10) {
    i = "0" + i
  }
  return i;
}

window.onload = function() {
  startTime();
}
<span id="reloj"></span>

5 个答案:

答案 0 :(得分:1)

您的代码中的if如果i的值小于10,则前缀为零

1 becomes 01
2 becomes 02
10 stays as 10
etc

这样可以使外观上的小时和分钟按预期显示。


格式有点误导-更好地写为

 function checkTime(i){
       if (i < 10) {
          i = "0" + i;
       }
       return i;
  }

答案 1 :(得分:0)

如果时间以一位数字表示,if语句基本上会添加一个前导零,就像不显示9分钟,而是显示为09分钟

答案 2 :(得分:0)

好吧,这似乎是在检查一个小时是否用两位数表示。

9:54的instea将是09:54

答案 3 :(得分:0)

i="0" + i

小时数少于10时,i被赋值为0,然后加到自身上,因为它是字符串,所以被串联起来。结果是09,08,07而不是9 8 7等。

function startTime(){
    today=new Date();
    h=today.getHours();
    m=today.getMinutes();
    s=today.getSeconds();
    m=checkTime(m);
    s=checkTime(s);

document.getElementById('reloj').innerHTML=h+":"+m+":"+s;
   t=setTimeout('startTime()',500);}
   function checkTime(i){
       if (i<10) 
       {
       i="0" + i
       }
       return i;}
       window.onload=function(){startTime();}
<div id="reloj"></div>

答案 4 :(得分:0)

就像在代码中两次调用checkTime()函数一样

分钟和秒是

1 becomes 01
2 becomes 02
And 10 stays as 10

因此,如果我小于10,则会在其前面加上0。

注意:在这里,我的意思是参数您的代码每分钟调用一次此函数两次,第二秒一次调用

希望您清除