Date 对象 定时器

日期对象 Date

概述:date是表示日期时间的对象,主要的方法是获取时间和设置日期时间.

date声明

使用new Date声明 有4种方式

1.不设参数 是获取当前的本地时间

var date = new Date();

2.字符串 根据本地的日期时间格式传递 (用 '' 或者 "" 包住 年月日用 / 隔开 时分秒用 : 隔开)

var date = new Date('2022/10/9 20:21');

3.数值 注意:传递数值的是毫秒值 根据格林兰治 1970/1/1 00:00向上递增

var date = new Date(1000);

4.多个数值 多个数值对应着 年 月 日 时 分 秒 毫秒 用 , 隔开 

var date = new Date(2022,9,9,20,28,48);月份取值是 0 ~ 11

日期的计算和比较 (是从格林兰治时间的毫秒值)

日期在计算或比较时会自动变成number类型的毫秒值 除了加法以外的算术运算法都会变成number进行运算

 

 日期对象的方法

获取日期的时间 (get开头)

1.getFullyear() //获取年

2.getMonth() //获取月 实际月份会比获取大1 注意月的取值是 0 ~ 11

3.getDate() //获取日 当月的第几号

4.getDay() //获取日 星期几 星期天是第一天 0~6

5.getHours() //获取小时 0~23

6.getMinutes() //获取分钟 0~59

7.getSeconds() //获取秒 2~59

8.getMilliseconds //获取时间戳 离对应的格林兰治时间的毫秒值

9.getUTCFullyear() //utc国际标准时间(以上的方法都有对应的utc方法) 

日期对象不止这9个,目前我已知的有这9种,如果想要了解一下其它的可以自行上百度搜索

设置日期时间 (set开头)

1.setFullYear //设置年份

2.setMonth //设置月份 注意月份是0~11 如果设置的是0,则输出的是1月份 如果超出11 比如13 则会自动增进 当前设置的是2月

3.setDate //设置天数 超过当前月份的天数会自动向上递进 月份会+1

4.setHours //设置小时 最大为23 超过23 自动向上递进 天数会+1

5.setMinutes //设置分钟 向上递进 0-59 小时会+1

6.setSeconds //设置秒钟向上递进 0-59 分钟会+1

7.setMilliseconds //设置毫秒值 向上递进 0-999 秒钟会+1

8.setTime //根据对应的毫秒值设置对应的时间

辅助相关方法 转为对应的string

toDateString //将对应的日期转换string返回
toTimeString //将对应的时间转换string返回
toLocaleString //根据本地的格式 转为对应的字符串返回
toLocaleDateString //根据本地的格式 将日期转为对应的字符串返回
toLocaleTimeString //根据本地的格式 将时间转为对应的字符串返回

对象

概述:对象是一种引用数据类型. 它可以存储对应的数据相关的方法(可以拥有相关的属性及对应的函数(行为)).对象构成是用key : value(键值对)构成的,一个对应的key对应着一个value (key不能重复 value可以重复)

对象的声明方法

方式1: 使用字面量 {}

方式2: 使用new关键词 Object (Object是所有的类和对象的父类 也就是Object是最大的对象)

对象的属性及相关的方法访问(查询)

使用对象名 属性名

var obj = {

  name:'jack',

  age:18,

}

console.log(obj.name)

使用对象名[属性名字符串]

var obj = {

  name:'jack',

  age:'18',

}

console.log(obj['name'])

注意:对象的对比 比的是地址

对象属性的增删改的相关操作

增(对象名 . 属性名进行赋值)//var obj = {}; obj.name = 'jack';

改 (跟增的操作一致 如果当前属性本身已经具备 重新赋值就是修改)//var obj = { naem : 'jack',}; obj.name = 'luck'

删除 (使用delete关键词)//var obj = {naem : 'jack',} delete obj = sex

this

概述:this是一个特殊对象, 它类似指针指向对应的对象. (如果在对象的函数内那么对应的this就指向这个对象, 普通的函数的this指向最顶层的window).谁调用this就指向调用者

定时器和延时器

概述:属于window的两个方法,定时器和延时器是属于异步行为,按照对应文档流顺序的代码称为同步代码 (同步只有一个任务队列) ,异步代码不按照对应的文档流执行 (异步会重新开辟一个异步线程),同步代码比异步代码先执行,定时器是定时器执行的(可以执行多次),延时器是延时执行(执行一次)

定时器 setInterval (做动画)

setInterval (handlerFunction , time , arg)(第一个参数是执行的函数 , 第二个对应定时的时间(毫秒值) , 第三个传递给对应函数的参数)

定时器有三种写法

1. setInterval(function (params){  //传递匿名函数

  console.log(params)

},1000 , 'hello')

2. function fn(params){

   console.log(params)

}

setInterval(fn , 1000 , 'jack')  //传递具名函数

3. setInterval('console.log('hello')' , 1000)  //传递字符串 在字符串里面写代码 建议不推荐此写法

清除定时器 用来停止对应的定时操作

var timer = setInterval(function(){

  console.log('hello')

},1000)

clerInterval(timer) //clearInterval(对应定时器的id)这个id就是对应的setInterval返回的number值

延时器 setTimeout (对应的等待)

概述:延时器延迟执行 只会执行一次 (用法和对应的setInterval一样的)

setInterval (handlerFunction , delay , arg)(第一个参数是执行的函数 , 第二个对应延时的时间(毫秒值) , 第三个传递给对应函数的参数)

var id = setTimeout(function (){

  console.log('三秒后执行')

  clearTimeout(id)  //setTimeout只会执行一次就会结束 但是内存不会释放 需要加上清除延时器 clearTimeout

})

posted @ 2022-10-10 19:47  落尘寰  阅读(79)  评论(0)    收藏  举报