欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaScript 日期与计时器

程序员文章站 2022-03-26 11:42:53
JavaScript 中日期和计时器是常用的工具方法,本文主要介绍构造函数 Date 的使用和时间戳的概念,以及设置计时器和清除计时器的方法 ......

javascript 日期与计时器

javascript 中日期和计时器是常用的工具方法,本文主要介绍构造函数 date 的使用和时间戳的概念,以及设置计时器和清除计时器的方法

日期对象

  1. date 是一个构造函数,其原型上定义了一些日期方法

  2. date()

    执行 date(),返回表示日期的字符串

  3. new date()

    没有参数,返回当前日期实例对象

    var date = new date();
    console.log(object.prototype.tostring.call(date)); // [object date]
    date.getfullyear() // 返回年份,如 2020
    dae.getmonth() // 返回月份减一,加一得到月份
    date.getdate() // 返回几号,1 到 31
    date.getday() // 返回周几,0 到 7,周日开始
    date.gethours() // 返回小时
    date.getminutes() // 返回分钟
    date.getseconds() // 返回秒数
    date.getmilliseconds() // 返回毫秒数
    // 有 get 同样有 set 方法
    

    有参数,返回对应的日期

    var date = new date(2020, 1, 1, 8, 30, 10);
    var date = new date('2020/1/1 8:30:10');
    var date = new date('2020/01/01 08:30:10');
    var date = new date('2020-1-1 8:30:10');
    // sat feb 01 2020 8:30:10 gmt+0800 (中国标准时间)
    
  4. gettime()

    返回时间戳,即毫秒数

    计算机纪元时间 1970 年 1 月 1 日 0 点 0 分 0 秒

    时间戳:某个时间距离计算机纪元时间的经过的毫秒数

    var datetime = new date().gettime(); // 返回当前时间的时间戳
    var date = new date(datetime); // 返回时间戳对应时间
    date.settime(datetime); // 以时间戳为标准设置时间
    

计时器

  1. setinterval

    每隔特定的毫秒数执行一次内部函数,从当前开始计时

    返回一个数字,是计时器的唯一标识,代表在所有计时器和延时器中的序号

    是 window 下的方法

    setinterval(function(){
        
    }, 1000) // 匿名函数
    funtion test() {
        
    }
    setinterval(test, 1000);
    setinterval('test()', 1000); // 字符串形式传入方法
    
  2. clearinterval

    清除计时器

    var timer = setinterval(function(){}, 1000); // timer 是唯一标识,代表在所有计时器中的序号
    clearinterval(timer);
    

延时器

  1. settimout

    延迟指定时间执行一次内部函数

    返回一个数字,是延时器的唯一标识,代表在所有计时器中和延时器的序号

    settimeout(function(){
        
    }, 1000) // 匿名函数
    funtion test() {
        
    }
    settimeout(test, 1000);
    
  2. cleartimeout

    清除延时器

    var timer = settimeout(function(){}, 1000); // timer 是唯一标识,代表在所有计时器中的序号
    cleartimeout(timer);
    

定时任务

  1. 描述

    等待条件满足时执行任务,设定时间内条件未满足则执行回调函数

  2. 参数

    • re: 判断条件函数,return 要执行 fn 的条件
    • fn: 等待执行的目标函数
    • space: setinterval 的间隔时间,space || 100
    • wait: settimeout 的等待时间,wait || 3000
    • back: fn 未成功执行时回调函数
  3. 代码

    function timer(re, fn, space, wait, back) {
    				if (re()) {
    					fn();
    				} else {
    					var interval = setinterval(function() {
    						if (re()) {
    							fn();
    							clearinterval(interval);
    							interval = null;
    						}
    					}, space || 100);
    					settimeout(function() {
    						if (interval) {
    							clearinterval(interval);
    							interval = null;
    							back && back();
    						}
    					}, wait || 3000);
    				}
    			}