我写了个js显示时间,为什么函数不自己调用呢

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:50:09
<HTML>
<HEAD>
<TITLE> New Document </TITLE>

<script language="javascript">
var date = new Date();
var now = "";
function showTime()
{
now = date.getFullYear()+"年";
now = now +(date.getMonth())+"月";
now = now +(date.getDate())+"日";
now = now +(date.getHours())+"小时";
now = now +(date.getMinutes())+"分钟";
now = now +(date.getSeconds())+"秒";

document.getElementById("nowDiv").innerHTML = now;

setTimeout("showTime()",1000);
}

</script>
</HEAD>

<BODY onload="showTime()">
<div id = "nowDiv"></div>

</BODY>
</HTML>

把var date = new Date();放在函数体里面就可以了,其他不用动

因为如果放到函数体外面,date只是在页面加载过程中执行到
var date = new Date();
的时候被实例化成一个时间对象,然后就一直保持不变,除非页面再刷新

而放到函数体的话,页面加载后,每隔1000毫秒date就会被实例化成一个新的时间对象,它是每秒变化一次的,不论页面刷不刷新

<HTML>
<HEAD>
<TITLE> New Document </TITLE>

<script language="javascript">

var now = "";
function showTime()
{
var date = new Date();
now = date.getFullYear()+"年";
now = now +(date.getMonth())+"月";
now = now +(date.getDate())+"日";
now = now +(date.getHours())+"小时";
now = now +(date.getMinutes())+"分钟";
now = now +(date.getSeconds())+"秒";

document.getElementById("nowDiv").innerHTML = now;

setTimeout("showTime()",1000);
}

</script>
</HEAD>

<BODY onload="showTime(