关于日期显示的问题。
本帖最后由 Opera_mini 于 2013-03-20 11:35:14 编辑
<html>先不管这代码写得好不好。这段代码是可以每隔一秒显示正确的时间的。但是接下来这段就不行了。
<head></head>
<body>
<script type = "text/javascript">
var a = document.createElement("div");
a.id = "firstdiv";
document.body.appendChild(a);
var b = document.getElementById("firstdiv");
function nowTime () {
var c = new Date();
b.innerHTML = "当前时间为:" + c.getFullYear() + "年 " + (c.getMonth() + 1) + "月 " + c.getDate() + "号 " + c.getHours() + "点 " + c.getMinutes() + "分 " + c.getSeconds() + "秒";
}
setInterval("nowTime()",1000);
</script>
</body>
</html>
<html>就是把 var c = new Date(); 拿到了函数外面,为什么就不行了。按理说,nowTime()每隔一秒被调用的时候,nowTime()里面的 b.innerHTML 后面还是会调用函数外部的 c 的,不是吗? html javascript function
<head></head>
<body>
<script type = "text/javascript">
var a = document.createElement("div");
a.id = "firstdiv";
document.body.appendChild(a);
var b = document.getElementById("firstdiv");
var c = new Date();
function nowTime () {
b.innerHTML = "当前时间为:" + c.getFullYear() + "年 " + (c.getMonth() + 1) + "月 " + c.getDate() + "号 " + c.getHours() + "点 " + c.getMinutes() + "分 " + c.getSeconds() + "秒";
}
setInterval("nowTime()",1000);
</script>
</body>
</html>
[解决办法]
可不都是这样?
你把c放到函数外面
var c = new Date();
这行就相当与
var c;//声明一个变量c
c = new Date();//给c赋值,值为当前日期
这时候对于nowTime这个函数来说c就已经是一个固定的值了。
要是把这一行放到nowTime里面去,每次调用方法,c会被重新赋值,所以就能得到你想要的效果。