实现倒计时功能--函数的局部变量问题

来源:互联网 发布:什么是数据库营销 编辑:程序博客网 时间:2024/06/09 06:56

一、问题阐述:
在完成商场秒杀倒计时项目时,发现倒计时不能实时更新。
错误的代码:

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 刷新一次的效果。