day8 日期、对象、定时器、延时器

一、日期

  // Date  日期类  UTC  国际协调时间  从1970年1月1日8时0分开始算  可以精确到之前或之后的  285616年
        // 定义日期
        var date=new Date()//返回当前的时间  没有参数会返回当前的显示时间 (电脑上的)
        console.log(date);

        // 第二种  指定一个日期 (可以是字符串  也可以是number)
        var date1=new Date("2022-03-23 10:10:10")//yyyy-MM-dd hh:mm:ss  string类型
        console.log(date1);
        var date2=new Date(3600)//计算的就是离1970年0时0分3600毫秒的时间
   
    // 日期对象的方法
        // 关于日期的获取和设置
        // 获取以get开头  设置以set开头
            var currdate=new Date()
        // 获取年
            currdate.getFullYear()//获取当前本地时间的年份
        // 获取月
            currdate.getMonth()//1-11  获取当前月份  0是1月  11是12月
        // 获取日
            currdate.getDate()//获取当月的第几日
            currdate.getDay()//获取星期的第几天  星期天是第一天 从0开始算  星期天是0
        // 获取时
            currdate.getHours()//获取小时  24小时制 12点就是12  24点就是0
        // 获取分
            currdate.getMinutes()//获取分钟
        // 获取秒
            currdate.getSeconds()//获取秒钟
        // 加了UTC就是获取utc时间 没有加就是获取本地时间
        // 时间戳  一般作为唯一标识(有些时候数据量过大,我们还会在后面加随机数)
            currdate.getTime()//获取距离1970年1月1日0时0分0秒的毫秒值
        // getTime()获取的时间是离1970年
            currdate.getMilliseconds()//获取毫秒位的毫秒值  不可以大于等于1000
        // string方法
            currdate.toDateString()//把对应的日期(年月日)按照对应的格式转换位string类型(指定好的无法更改)
            currdate.toTimeString()//把对应的时间(时分秒)按照对应的格式转换位string类型(指定好的无法更改)
        // local本地
            currdate.toLocaleDateString()//把本地日期转换  使用/
            currdate.toLocaleTimeString()//把本地时间转换  使用:
            currdate.toLocaleString()//本地时间转换位string

            currdate.getTimezoneOffset()//返回时区
            currdate.toString()//转为字符串


        // 设置方法  date是可变的  set
        // 设置年
            currdate.setFullYear()
        // 设置月
            currdate.setMonth(10)//设置为10 是11月
        // 设置日
            currdate.setDate()
        // 设置时
            currdate.setHours()
        // 设置分
            currdate.setMinutes()
        // 设置秒
            currdate.setSeconds()

            currdate.setTime()//设置离1790年1月1日8时0分0秒的时间
 
二、对象
 
  
  // 什么是对象  对象是一种引用数据类型
        // 对象也是一个容器  里面可以存储对应的属性
        // 定义对象  使用new关键词定义
        // 对象名.属性名=值
        var obj=new Object() //obj就是一个对象  但是这个对象没有具备任何属性
        // 指定属性储存
        obj.name="张三"
        obj.age=18//将18赋值给1obj的age属性
        // 第二种方式  使用字面量  在{}里面使用键值  在{}里面不可以使用=
        var obj1={//{}表示的是对象的字面值  这里面存储是以键值对的形式   键 值  多个键值对之间使用逗号隔开
                name:"张三",
                age:14
        //获取对象的属性值  对象名.属性名
        }

        // 对象数组  他是一个数组里面存放的是对象
        // 数组对象  对象 这个对象是一个数组
        var arr=[]//数组对象
        var objarr=[{
            name:"王五"
        }]//对象数组  里面存放的是对象
        // 核心区别里面存放的数据是否是对象 是对象就是对象数组 不是对象就是数组对象(普通数组)

        // 关于对象数组的访问  外层是访问数组  里层是访问对象
        objarr[0].name

        var obj1={
            users:[
                {
                    name:"张三"
                },{
                    name:"李四"
                },{
                    name:"王五"
                },
            ]
        }
        console.log(obj1.users[1].name);//怎么访问李四  看对象还是数组  对象用对象名.属性名  数组使用下标
        // 还可以使用对象名[属性名] 属性名必须是字符串 来访问对应对象的属性
        // 对象可以存放各种数据类型
        var objA={
            name:'张三',
            age:14,
            iseat:true,
            run:function(){
                console.log("我在跑步");
            }
        }
        // 调用对象的方法
        objA.run()
        // 使用delete关键词删除属性
        delete objA['age']
        delete objA.iseat
 
三、定时器、延时器
 
  // 定时器  在一定时间内执行一次  循环执行 不会停
        // 第一个参数是执行的方法  可以传入function 也可以传入function的名字必须带()
        // 第二个参数是执行一次的时间  为毫秒值
        // 第三个参数为参数数组(不用写)
        var i=0
        var id=setInterval(function(){
            i++
            console.log("你好");
            if(i==10){
                // 清除定时器 传入的值为你需要清除定时器的id
                //当你的i值为10的时候 自动清除你的定时器
                clearInterval(id)
            }
        },1000)//1000的意思就是1秒钟执行一次  定时器不会自动停止
        // 一般会在内部关闭对应定时器 来防止死循环

        // 一般可以用来做一些 动画效果
        // setInterval是异步 不遵从顺序流 不管其他的是否运行结束 我照样运行
        // 同步机制  必须等待上一个操作完成 才能执行下一个操作 按照一个流程走
        // 异步机制  不管上一个是否走完 照样运行

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

        // 区别 一个执行一次 一个执行多次
posted @ 2022-03-23 20:05  凌晨四点钟  阅读(122)  评论(0)    收藏  举报