JavaScript 日期与计时器
程序员文章站
2022-03-26 11:42:53
JavaScript 中日期和计时器是常用的工具方法,本文主要介绍构造函数 Date 的使用和时间戳的概念,以及设置计时器和清除计时器的方法 ......
javascript 日期与计时器
javascript 中日期和计时器是常用的工具方法,本文主要介绍构造函数 date 的使用和时间戳的概念,以及设置计时器和清除计时器的方法
日期对象
-
date 是一个构造函数,其原型上定义了一些日期方法
-
date()
执行 date(),返回表示日期的字符串
-
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 (中国标准时间)
-
gettime()
返回时间戳,即毫秒数
计算机纪元时间 1970 年 1 月 1 日 0 点 0 分 0 秒
时间戳:某个时间距离计算机纪元时间的经过的毫秒数
var datetime = new date().gettime(); // 返回当前时间的时间戳 var date = new date(datetime); // 返回时间戳对应时间 date.settime(datetime); // 以时间戳为标准设置时间
计时器
-
setinterval
每隔特定的毫秒数执行一次内部函数,从当前开始计时
返回一个数字,是计时器的唯一标识,代表在所有计时器和延时器中的序号
是 window 下的方法
setinterval(function(){ }, 1000) // 匿名函数 funtion test() { } setinterval(test, 1000); setinterval('test()', 1000); // 字符串形式传入方法
-
clearinterval
清除计时器
var timer = setinterval(function(){}, 1000); // timer 是唯一标识,代表在所有计时器中的序号 clearinterval(timer);
延时器
-
settimout
延迟指定时间执行一次内部函数
返回一个数字,是延时器的唯一标识,代表在所有计时器中和延时器的序号
settimeout(function(){ }, 1000) // 匿名函数 funtion test() { } settimeout(test, 1000);
-
cleartimeout
清除延时器
var timer = settimeout(function(){}, 1000); // timer 是唯一标识,代表在所有计时器中的序号 cleartimeout(timer);
定时任务
-
描述
等待条件满足时执行任务,设定时间内条件未满足则执行回调函数
-
参数
- re: 判断条件函数,return 要执行 fn 的条件
- fn: 等待执行的目标函数
- space: setinterval 的间隔时间,space || 100
- wait: settimeout 的等待时间,wait || 3000
- back: fn 未成功执行时回调函数
-
代码
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); } }
上一篇: Python——迭代器的几个高级用法
下一篇: 为什么 === 的速度比 == 快