date 对象-定时器

日期对象常用操作:

(日期对象,是系统提供好的)

这里写图片描述

<script type="text/javascript">
date = new Date;   //记录出生时的日期  (new出来后就不会改变 当然刷新页面会改变)
</script>

get方法 获取date
如图所示:使用 getSeconds() 返回 Date 对象的秒数。
以不同时间在控制台上输入 date.getSeconds();结果都一样。
这里写图片描述
getTime() 时间戳 返回 1970 年 1 月 1 日至今的毫秒数。

  //返回循环运行时间间隔
 <script type="text/javascript">
    var one=new Date().getTime();
    for(var i=0;i<100000000;i++){

    }
    var two = new Date().getTime();
    console.log(two-one);
</script>

set方法 设置date
例如:setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。

<script type="text/javascript">
    var date=new Date();
    date.setMinutes(41); //设置时间41分0秒
    date.setSeconds(0);

    setInterval(function(){
        if (new Date().getTime()-date.getTime()>1000) {
            console.log("hello world");  //超过这个时间一直打印
        }
    },1000);  //每间隔1000毫秒执行一次
</script>

toString() 把 Date 对象转换为字符串


定时器 :

  • window上的方法 函数内部的this 指向window
  • 两种定时器 函数部分都可以用字符串的形式代替(不常用)
  • 例子: setInterval("console.log('hello world');",1000);
          //打印字符串中包含的这段代码  显示:hello world
    

setInterval

    setInterval(function(){
              //time 只识别一次
    },time);  //每隔time毫秒 执行一次函数 一直执行下去
  • setInterval 非常不准确 是window上的方法
  • 返回一个数字 作为它的唯一标识
  • clearInterval() 清除定时器
<script type="text/javascript">
    var i=0;
    var time=setInterval(function(){
        console.log(i++);
        if(i>10){
         clearInterval(time);  //满足一定的条件 (清除定时器 还会将后面的语句执行完)
        }
    },1000);
</script>

setTimeout

setTimeout(function(){

    },time);  //达到time时间 执行一次函数
<script type="text/javascript">
    setTimeout(function(){
        console.log('time over');
    },1000);
</script>
  • clearTimeout() 清除定时器 (不会与别的定时器的唯一标识符重复)

一个简单的三分钟计时器:

minutes: <input type="text" value="0" style="border-radius: 30px;width: 20px;text-align:center">
second: <input type="text" value="0" style="border-radius: 30px;width: 20px;text-align: center">

<script type="text/javascript">
    var timea=document.getElementsByTagName("input");
    var minutes=0,seconds=0;
    var time=setInterval(function(){
        seconds ++;
        if (seconds==60) {
            seconds=0;
            minutes++;
        }
        timea[0].value=minutes;
        timea[1].value=seconds;
        if (minutes===3) {
            clearInterval(time);
        }
    },1000);
</script>

在页面中显示:
这里写图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值