获取系统时间

直接上代码:

<body onload="myTime()">
    <p id="time"></p>

    <script>
        /* 
         为什么 Date 对象 d 在函数外部,时间不会变化:
           - 在函数外部,d 获取的系统时间已经定了,是某一确定时间
           - 在函数内部,由于每 0.5s 会调用该函数,因此在函数内部这个获取的系统时间是不断变化的
        */
        // var d = new Date();
        // alert(d);
        function myTime() {
            var d = new Date();
            var hour = d.getHours();
            var minute = d.getMinutes();
            var second = d.getSeconds();
            document.getElementById("time").innerHTML = hour + ":" + minute + ":" +second;
            setTimeout(
                function() {
                    myTime();
                    // alert(d);
                },500
            );
        } 

        /* 如果m < 10,前面加 '0',使之更符合人们的习惯 */
        function checkTime(m) {
            if (m < 10)
                m = "0" +m;
            return m;
        }
    </script>
</body>

首先,写的时候把 Date 对象放在函数体外了,然后发现时间没有发生变化,刚开始以为是没有调用这个函数,按F12发现函数在调用,只不过时间没动,因此怀疑每次调用函数,获取的系统时间没变,所以把 Date 对象放在函数体内部,每次调用,都会重新获取系统时间,以此达到更新时间的目的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值