昨天在做一个html显示当前系统时间的时候遇到个问题,问题代码如下
function jia(n){
if(n<10){
return "0"+n;
}else
return n;
}
var dd=document.getElementById("d1");
var date = new Date();//错误操作,每次执行函数时没有初始化
function sj(){
var date = new Date();//对象初始化
dd.innerHTML=date.getFullYear()+"年"+jia((date.getMonth()+1))+"月"+jia(date.getDate())+"日 "
+jia(date.getHours())+":"+jia(date.getMinutes())+":"+jia(date.getSeconds());
}
setInterval(sj, 1000);
sj();
在执行这段代码的时候将date声明放在了函数外面,这样使得页面只有手动刷新才会显示实时时间,不能达到相应效果,只有把变量声明在函数里面,调用的时候才会把对象初始化,达到目的效果。
时间: 2024-10-12 14:04:02