我用JavaScript创建了一个日期计算器,但我可以';即使setInterval()不更新数字

我用JavaScript创建了一个日期计算器,但我可以';即使setInterval()不更新数字,javascript,Javascript,const clock=document.querySelector('.js clock'); 常量文本=时钟查询选择器(“p”); 函数getTime(){ const xmasDay=新日期(“2021-12-24:00:00:00+0900”); const now=新日期(); const gap=xmasDay-now; 常数日=数学单元(间隙/(1000*60*60*24)); 常数小时=数学单元((间隙%(1000*60*60*24))/(1000*60*60)); const

const clock=document.querySelector('.js clock');
常量文本=时钟查询选择器(“p”);
函数getTime(){
const xmasDay=新日期(“2021-12-24:00:00:00+0900”);
const now=新日期();
const gap=xmasDay-now;
常数日=数学单元(间隙/(1000*60*60*24));
常数小时=数学单元((间隙%(1000*60*60*24))/(1000*60*60));
const min=数学单元((间隙%(1000*60*60))/(1000*60));
常数秒=数学单元((间隙%(1000*60))/1000);
text.innerText=`${day}d${hour<10?`0${hour}`:hour}h${
最小值<10?`0${min}`:min
}m${sec<10?`0${sec}`:sec}s`;
}
函数init(){
getTime();
setInterval(getTime(),1000);
}
init()

圣诞节前的时间


通过在
setInterval
中的getTime调用后面加上括号,可以调用该函数,并将间隔的回调设置为其返回值,而不是函数本身

const clock=document.querySelector('.js clock');
常量文本=时钟查询选择器(“p”);
函数getTime(){
const xmasDay=新日期(“2021-12-24:00:00:00+0900”);
const now=新日期();
const gap=xmasDay-now;
常数日=数学单元(间隙/(1000*60*60*24));
常数小时=数学单元((间隙%(1000*60*60*24))/(1000*60*60));
const min=数学单元((间隙%(1000*60*60))/(1000*60));
常数秒=数学单元((间隙%(1000*60))/1000);
text.innerText=`${day}d${hour<10?`0${hour}`:hour}h${
最小值<10?`0${min}`:min
}m${sec<10?`0${sec}`:sec}s`;
}
函数init(){
getTime();
setInterval(getTime,1000);
}
init()

圣诞节前的时间


您也可以使用eval方法获取输出

const clock=document.querySelector('.js clock');
常量文本=时钟查询选择器(“p”);
函数getTime(){
const xmasDay=新日期(“2021-12-24:00:00:00+0900”);
const now=新日期();
const gap=xmasDay-now;
常数日=数学单元(间隙/(1000*60*60*24));
常数小时=数学单元((间隙%(1000*60*60*24))/(1000*60*60));
const min=数学单元((间隙%(1000*60*60))/(1000*60));
常数秒=数学单元((间隙%(1000*60))/1000);
text.innerText=`${day}d${hour<10?`0${hour}`:hour}h${
最小值<10?`0${min}`:min
}m${sec<10?`0${sec}`:sec}s`;
}
函数init(){
设置间隔(eval(“getTime”),1000;
}
init()

圣诞节前的时间


哦,它工作得很好!非常感谢。我为自己被这个小问题难堪而感到羞愧。我想我需要进一步学习。请单击旁边的勾号图标,将答案标记为已接受:)