一、问题阐述:
在完成商场秒杀倒计时项目时,发现倒计时不能实时更新。
错误的代码:
var mydate = new Date();
var hour = mydate.getHours();
var minute = mydate.getMinutes();
var second = mydate.getSeconds();
function nowTime() {
var mydate = new Date();
var hour = mydate.getHours();
var minute = mydate.getMinutes();
var second = mydate.getSeconds();
}
二、问题解决:
后来经过大师点拨指正,去掉函数内部前面的’var’,给代码做了小小的修改,最后达到了1s更新一次的倒计时效果。
正确的代码:
var mydate = new Date();
var hour = mydate.getHours();
var minute = mydate.getMinutes();
var second = mydate.getSeconds();
function nowTime() {
mydate = new Date();
hour = mydate.getHours();
minute = mydate.getMinutes();
second = mydate.getSeconds();
}
三、总结:
在nowTiem()函数内部,若使用’var’ 关键字声明变量则会导致,新变量与全局变量成为了不同的东西,
新变量只能在该函数内部使用,用完即止,无法被下面的函数所调用。最后下面的函数也无法实现1s 刷新一次的效果。