文章目录

  • Date对象补充
  • 计时器
    • 循环计时器
      • **setInterval(callback,ms)**
      • **清除循环定时器:clearInterval(name);**
    • 延迟/延时定时器
      • **setTimeout(callback,ms)**
      • 清除延迟定时器:clearTimeout(name);
  • 案例练习
    • 日历时间
    • 打印机
  • 总结

Date对象补充

var oDate = new Date();console.log(Date.prototype);console.log(oDate.toString());  // Fri Apr 22 2022 11:23:19 GMT+0800 (中国标准时间)console.log(oDate.toDateString()); // Fri Apr 22 2022console.log(oDate.toTimeString());  // 11:24:22 GMT+0800 (中国标准时间)console.log(oDate.toLocaleString());  // 2022/4/22 11:25:42console.log(oDate.toLocaleDateString());  // 2022/4/22console.log(oDate.toLocaleTimeString());  // 11:25:42console.log(oDate.toUTCString());  // Fri, 22 Apr 2022 03:26:53 GMTconsole.log(oDate.toISOString());  // 2022-04-22T03:27:34.768Zconsole.log(oDate.valueOf());  // 1650598155772console.log(oDate.getTimezoneOffset());  // -480console.log(Date.UTC(2022,1,1));  // 1643673600000console.log(Date.parse("2022,1,1"));  // 1640966400000

计时器

循环计时器

循环持续不断地执行一段代码

setInterval(callback,ms)

  • callback:回调函数,当方法执行完以后执行
  • ms :毫秒数
setInterval(function(){console.log('这是循环定时器');},1000)

清除循环定时器:clearInterval(name);

我们要给定时去先创建一个名字,才能方便清除定时器


<body><button id="start">开始</button><button id="end">结束</button>
</body>
<script>// 获取事件源var start = document.getElementById('start');var end = document.getElementById('end');// 声明一个函数function func(){console.log('这是循环定时器');}// 声明变量用于给定时器命名var timer;// 给开始按钮添加点击事件start.onclick = function(){timer = setInterval(func,1000);}// 给结束按钮添加点击事件,清除定时器end.onclick = function(){clearInterval(timer);}
</script>

延迟/延时定时器

根据设置的时间执行一次代码,执行一次后不再执行

setTimeout(callback,ms)

  • callback:回调函数,当方法执行完以后执行
  • ms :毫秒数
    setTimeout(function(){console.log('这是延迟定时器');},5000)

清除延迟定时器:clearTimeout(name);

用法同清除循环定时器的相同


<body><button id="start">开始</button><button id="end">结束</button>
</body>
<script>// 获取事件源var start = document.getElementById('start');var end = document.getElementById('end');// 声明一个函数function func(){console.log('这是延迟定时器');}// 声明变量用于给定时器命名var timer;// 给开始按钮添加点击事件start.onclick = function(){timer = setTimeout(func,1000);}// 给结束按钮添加点击事件,清除定时器end.onclick = function(){clearTimeout(timer);console.log('清除');}
</script>

案例练习

日历时间


<body><span></span><div></div>
</body>
<script>var scr = document.querySelector('span');var scr2 = document.querySelector('div');var day = ['日', '一', '二', '三', '四', '五', '六'];// 封装补零的函数function time2(num) {return num < 10 ? '0' + num : num;}function toDay() {var thisY = new Date();var thisYear = thisY.getFullYear();  // 获得年份var thisMonth = time2(thisY.getMonth() + 1);   // 获得月份var thisDate = time2(thisY.getDate());  // 获得日期var thisHour = time2(thisY.getHours());var thisMinute = time2(thisY.getMinutes());var thisSecond = time2(thisY.getSeconds());var thisDay = thisY.getDay();scr.innerHTML = thisYear + '年' + thisMonth + '月' + thisDate + '日' + '星期' + day[thisDay] + thisHour + '时' + thisMinute + '分' + thisSecond + '秒'}// 定时器setInterval(toDay, 100)

打印机


<body><p></p>
</body>
<script>// 获取事件源var text = document.querySelector('p');var str = '先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。宫中府中,俱为一体,陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明,故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏,臣不胜受恩感激。今当远离,临表涕零,不知所言。'var i=0;setInterval(function () {       text.innerHTML += str[i];i += 1;}, 500)
</script>

总结

终于js的核心语法学习完了,开始接触DOM部分了,今天学习了定时器,感觉非常开心,这个东西实在太有意思了,虽然一开始用的时候很生疏,但经过老师的练习,明显有了进一步地掌握。那由于时间的问题,这篇博客没有当天发,隔了一天才发,而对于核心语法部分的总结也没有来得及做,那我会在这两天抓紧把它补上来,加油!乘风破浪会有时,直挂云帆济沧海!

JavaScript学习第十一天(Date、定时器)相关推荐

  1. JavaScript学习(十一)—selected属性、checked属性、class属性的操作

    JavaScript学习(十一)-selected属性.checked属性.class属性的操作 对于checked属性.selected属性,如果要表示选中状态,则将他们的值设置为true,如果要表 ...

  2. JavaScript 学习手册二

    JavaScript 学习手册二:JS 数据类型 第1关:JavaScript 数据类型介绍 任务描述 本关任务:在函数 objectTest() 内部定义了六个变量 a.b.c.d.e.f,并已经赋 ...

  3. JavaScript学习笔记02【基础——对象(Function、Array、Date、Math)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  4. JavaScript学习05 定时器

    JavaScript学习05 定时器 定时器1 用以指定在一段特定的时间后执行某段程序. setTimeout(): 格式:[定时器对象名=] setTimeout("<表达式> ...

  5. JavaScript学习(八十一)—将多维数组转化为一维数组

    JavaScript学习(八十一)-将多维数组转化为一维数组

  6. JavaScript学习(七十一)—call、apply、bind学习总结

    JavaScript学习(七十一)-call.apply.bind学习总结 一.call方法 call方法调用一个对象,简单的理解为调用函数的方式,但是它可以改变函数的this指向 二.apply() ...

  7. JavaScript学习(六十一)—json字符串的解析和JS 对象的序列化

    JavaScript学习(六十一)-json字符串的解析和JS 对象的序列化 一.json字符串的解析:parse方法 将json字符串转换为js对象,我们把这个过程称为json字符串的解析 格式:J ...

  8. JavaScript学习(五十一)—实训题

    JavaScript学习(五十一)-实训题 实训1 定义一个长方形的构造函数(有参数,通过参数给属性赋值)属性:长.宽方法:面积.周长通过这个构造方法创建3个对象,计算面积和周长 实训2 定义创建等边 ...

  9. JavaScript学习(四十一)—字面量形式创建对象的注意事项和不足

    JavaScript学习(四十一)-字面量形式创建对象的注意事项和不足 一.字面量形式创建对象的注意事项 如果对象没有名称则该对象称之为匿名对象. 对象名保存对象在堆内存中的地址,通过该地址可以找到堆 ...

最新文章

  1. 安装ftp连接linux服务器配置,Linux下FTP安装及配置(VSFTPD服务器安装配置、FTP客户端安装配置)...
  2. 理解 Memory barrier(内存屏障)无锁环形队列
  3. MySql中的运算符
  4. BGP小实验——选路不困难,只要有方法
  5. Jquery 全选,反选
  6. urllib2.URLError: urlopen error [Errno 111] Connection refused
  7. 2.4g和5g要不要合并_请问千兆路由器,2.4g与5g是双频合一还是分开,该选择哪个?...
  8. Docker学习五:Docker 数据管理
  9. 关于开源产业的5个真相
  10. python判断数组中是否有重复元素_python经典面试算法题4.1:如何找出数组中唯一的重复元素...
  11. php if条件循环语句,PHP:IF语句可以单独运行,但不能在WHILE循环内运行
  12. 在.NET开发中的单元测试工具之(2)——xUnit.Net
  13. lingo12软件下载及lingo语言入门资源
  14. 分布式机器学习平台比较
  15. 程序猿---北京骑行天津~~~~
  16. Redis集群搭建(单设备,多设备)
  17. Unity官方文档解读之如何使用粒子系统创建汽车尾气
  18. 滞回比较器计算方法及实用工具
  19. 有功功率和无功功率的超前滞后
  20. Python match-search-findall-group(s)的区别

热门文章

  1. vue快捷导出excel插件
  2. 文件服务器维修,中国直辖市服务器维修及数据恢复.docx
  3. 【从0到1搭建LoRa物联网】17、LoRa连接到chirpstack
  4. 信息安全数学基础(一):同余
  5. 让电商运营10倍提效的自动化工具,你get了吗?
  6. 对角阵、特征值与特征向量
  7. mac java调用浏览器_mac osx 下 浏览器 开启 java
  8. 多数据源动态优雅切换
  9. 关于win 10 下Prolific USB-to-Serial Comm Port驱动无法使用问题的解决办法。
  10. 【开源日记】宿舍断电自动关灯设备(二)