大家好,这是我根据慕课网上的js实战做的一个显示时间的js代码,其中为了让分钟和秒能在个位数时显示01,02这种形式,我用了一个if语句(加粗部分),不过有个问题,如果我把if语句改成“if (i<10) { i="0"+i; }else{ return i;”这种形式时分钟和秒在<10时都会显示undefine,请问这是问什么,如果我写成““if (i<10) { i="0"+i; }return i;}”这种方式也没问题,请问为什么window.onload=function (){ gogogo();}function checkTime(i){ if (i<10) { return(i="0"+i); }else{ return i; }}function gogogo(){ var myDate=new Date(); var year=myDate.getFullYear(); var month=myDate.getMonth()+1; var day=myDate.getDate(); var week=myDate.getDay(); var h=myDate.getHours(); var m=myDate.getMinutes(); var s=myDate.getSeconds(); m=checkTime(m); s=checkTime(s); var weekend=new Array(); weekend[0]="星期日"; weekend[1]="星期一"; weekend[2]="星期二"; weekend[3]="星期三"; weekend[4]="星期四"; weekend[5]="星期五"; weekend[6]="星期六"; var p=document.getElementById("p1"); p.innerHTML=year+"年"+month+"月"+day+"日"+"\n"+weekend[week]+h+"点"+m+"分"+s+"秒"; setTimeout(gogogo,500);}
3 回答
已采纳
挑灯看舰
TA贡献4条经验 获得超3个赞
“if (i<10) {
i="0"+i;
}else{
return i;”
如果i<10,则i="0"+i;并没有返回i
只有在i>=10的时候,这段代码才返回i;
今天没吃药感觉萌萌哒
TA贡献3条经验 获得超1个赞
function format(num){
var num1;
num=parseInt(num);
if(num<10){
num1="0"+num;
}else{
num1=num;
}
return num1;
}
添加回答
举报
0/150
提交
取消