这段JavaScript代码有几个问题谁帮我解释一下
functionstartTime(){vartoday=newDate();varh=today.getHours();varm=today.getMinutes();...
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}
1.为什么h变量不用checktime函数来赋值?而m和s需要?
2.还有那个settimeout前面的t有什么用啊?
3.还有一个关键的问题就是startTime这个函数里面还有一个startTime函数,那么这个函数是怎么运行的啊,这个函数还没运行完又要运行一次啊,感觉这样好乱啊根本看不懂怎么办? 展开
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}
1.为什么h变量不用checktime函数来赋值?而m和s需要?
2.还有那个settimeout前面的t有什么用啊?
3.还有一个关键的问题就是startTime这个函数里面还有一个startTime函数,那么这个函数是怎么运行的啊,这个函数还没运行完又要运行一次啊,感觉这样好乱啊根本看不懂怎么办? 展开
2个回答
展开全部
1、这个checkTime是个自定义函数,你要列出这个函数的内容我们才能知道为什么。我估计是给不足两位数的数字的前面添加0的,比如 8:4:6 这样不好看,也不符合习惯,改为 8:04:06 就顺眼了。通常小时的前面是不用加0的,所以h就无须用checktime来处理了。
2、t是setTimeout函数的返回值,这样的话如果想让setTimeout停止就可以用clearTimeout(t);来实现。当然,如果不需要这么做,也可以把t=省去,即setTimeout('startTime()',500);
3、那个500的意思是500毫秒,整个setTimeout函数的意思就是再过500毫秒就再次运行startTime这个函数,这样的话startTime函数就会一直循环运行下去。否则的话你的时钟就会只显示一次,然后就再也不会动了!
2、t是setTimeout函数的返回值,这样的话如果想让setTimeout停止就可以用clearTimeout(t);来实现。当然,如果不需要这么做,也可以把t=省去,即setTimeout('startTime()',500);
3、那个500的意思是500毫秒,整个setTimeout函数的意思就是再过500毫秒就再次运行startTime这个函数,这样的话startTime函数就会一直循环运行下去。否则的话你的时钟就会只显示一次,然后就再也不会动了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询