JavaScript学习的第八天

这篇博客详细介绍了JavaScript中的日期类,包括定义、获取和设置方法,如get和set方法。接着讨论了对象的定义、访问和使用,特别是对象数组的访问方式。还讲解了setInterval定时器和setTimeout的用法及它们的区别。
摘要由CSDN通过智能技术生成

day08

一、日期类

定义

Date 日期 UTC 国际协调时间 从1970年1月1日0时0分开始算 可以精确到之前或之后的 285616年

第一种 定义日期

var date = new Date()
console.log(date)

第二种 指定一个日期(可以是字符串也可以是number)

var date1 = new Date("2022-03-23T06:38:25.983Z")
console.log(date1)

方法

关于日期的获取和设置

获取以get开头 设置以set开头

get方法
  1. 获取当前的时间(年月日都有)
var currentDate = new Date()
  1. 获取当前本地时间的年份
console.log(currentDate.getFullYear())
  1. 获取当前的月份0-11(1月就是0 12月是11)
console.log(currentDate.getMonth())
  1. 获取日
//获取当月的第几天
console.log(currenDate.getDate())
//星期的第几日 星期天是第一天(从0开始算)
console.log(currentDate.getDay())
  1. 获取时

24小时制 12点就是12 24点就是0

console.log(currentDate.getHours())
  1. 获取分
console.log(currentDate.getMinutes())
  1. 获取秒
console.log(currentDate.getSeconds())
  1. 加了utc就是获取utc时间,没有加就是获取本地时间

    获取距离1970年1月1日0时0分0毫秒

    一般称为时间戳 这个一般作为唯一标识(有些时候数据过大我们还会再后面加随机数)

console.log(currentDate.getTime())
  1. getTime(获取的时离1970年1月1日0时0分0秒的毫秒值)
var date = new Date()
console.log(date.getTime())
  1. getMillseconds()获取毫秒位的毫秒 不可大于等于1000
console.log(date.getMilliseconds())	
  1. toDateString()把对应的日期(年月日)按照对应的格式转换String类型(指定好的无法更改)
date.toDateString()
  1. local本地
date.tolocaleDateDateString()
  1. utc时间格式
date.toUTCString()
date.getTimezoneOffset()//返回市区范围
set方法

Date是可变的

  1. 设置当月的第几天
console.log(currenDate.setDate(30))
  1. 设置当前的月份
console.log(currenDate.setMonth(9))//十月
  1. 和get方法差不多其余自己查

二、对象

对象是一种引用数据类型(Array Date都是对象)

对象也是一个容器 里面可以存储对应的属性

定义

  1. 第一种定义对象 使用new关键词定义
var obj = new Object()//obj就是一个对象 但是这个对象是没有具备任何属性的对象

指定属性存储

对象名.属性名 =值

obj.name = '张三'//将张三赋值给obj的name属性
obj.age = 18//将18赋值给obj的age属性
console.log(obj)
  1. 第二种方式使用字面量
var obj1 = {
	name:'李四',//在{}里面使用 键:值
	age:19
}//{}表示的是对象的字面值 这里面的对象存储是以键值对的形式 键:值 多个键值对之间使用,隔开
console.log(obj1)
  1. 获取对象的属性值 对象名.属性名
console.log(obj.name)
console.log(obj1.name)
  1. 对象数组 他是一个数组里面存放的是对象

    数组对象 里面没有对象的就是数组对象,数组本身就是一个对象

    核心区别:里面存放的数据是否是对象 是对象就是对象数组 不是对象就是数组对象(普通数组都是数组对象)

    键值对是存在于{}中的 其他地方不能书写

var arr = []//数组对象 里面存放的不是对象
var objArr = [{
	name:'王五'
	age:11
},{
	name:'雷六'
	age:12
}]//对象数组 里面存放的是对象

访问使用

关于对象数组的访问 外层是访问数组里面层是访问对象

console.log(objArr[0].name)//取出王五

例子:

var obj1 = {
	users:[
        {
            name:'1'
        },{
            name:'2'
        },{
            name:'3'
        }
	]
}
//怎么访问到2
console.log(obj1.users[1].name)

还可以使用对象名[属性名] 属性名必须是字符串 来访问对应对象的属性

var a = new Object()
a.name = '张三'
console.log(a['name'])
//对象里面可以存放各种数据类型
var objA = {
    name:'张三'
    age:19
    isEat:true
    run:function(){
        console.log("我在跑步")
    }
}
//调用对象的方法
objA.run()
//使用delete关键词删除属性
delete objA['age']//删除objA的age属性
delete objA.isEat//删除objA的isEat属性

三、setInterval定时器

定义

在一定时间内执行一次 循环执行 不会停的

第一个参数实质性的方法 可以传入function 也可以传入function的名字

第二个参数是执行一次的时间 为毫秒值

第三个参数为参数数组(不用写)

setInterval(function(){
	console.log('helloWorld')
},1000)//1000的意思就是1秒中执行1次 定时器不会自动停止

一般会在内部关闭对应的定时器 来防止他死循环

var i = 0
var id = setInterval(function(){
    i++
	console.log('helloWorld')
    if(i == 10){
        //清除定时器 传入的值为你需要清除定时器的id
        //当你的i值为10的时候,自动清除你的定时器
        clearInterval(id)
    }
},1000)//1000的意思就是1秒中执行1次 定时器不会自动停止
//一般用来做一些动画
var i = 0
var fn = function(){
    i++
    document.write(i)
    if(i >10){
        clearInterval(interval)
    }
}
//同步机制 必须等待上一个操作完成 才能执行下一个操作(按照一个流程走)
//异步机制 就是不管上一个有没有执行完都会执行(多个流程同时进行)
//因为setInterval是异步的 不会管你的其他的运行有没有运行完我照样运行(不遵从顺序流)
var interval = setInterval(fn,500)
//这样子也是可以的
//var interval = setInterval('fn()',500)

例子

//var interval = setInterval('fn()',1000)
var input = document.getElementById('input')
var j = 100 
var inter = setInterval (function(){
	j--
	if(j < 0){
        alert('你吃了吗')
		clearInterval(inter)
	}
    input.value = j
},200)

四、setTimeout

执行一次 延迟执行 第一个参数必须是function 也异步的

var i = 0
setTimeout(function(){
	i++
	console.log(i)
},2000)

setInterval和setTimeout的区别

前者执行多次

后者执行一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值