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
})

浙公网安备 33010602011771号