首页 > 其他分享 >第7天笔记

第7天笔记

时间:2023-02-14 19:48:05浏览次数:45  
标签:console log 笔记 Date var date new

第七天笔记

日期对象

日期对象是用于表示日期时间的一个对象,他里面包含对应设置日期时间及获取日期时间的方法

日期对象的声明

使用new关键字定义

new Date()

无参构造声明 (构建对象方法叫做构造函数)

  • 构造函数首字母大写

  • 使用new关键字调用构造函数产生新的对象

// 无参构造声明是获取当前的本地时间
var date = new Date()
// 它是以本地时间格式进行显示的UTC(构建标准时间)
console.log(date)
// 传递对应的字符串 以字符串转为对应的事件 (格式不正确会出现Invalid Date)
var date = new Date('2000/2/14 20:50:20')
console.log(date)
// 传递多个数字 最多支持传递6个参数 年 月 日 时 分 秒 如果传入的值超出自动向上递增
// 传递的月份 从0-11
var date = new Date(2000,2,12,10,40,10)
console.log(date)
var date = new Date(2022,10,10)
conlose.log(date)
// 传递一个参数为number值 他将number值识别为毫秒+格林兰治时间
var date = new Date(1000)

日期对象的比对

日期对象在比对的过程中会自动转为毫秒值进行相关的比对计算

var date1=new Date()
var date2=new Date()
console.log(date2-date1)// 毫秒值
console.log(date2+date1)// 这里是字符串进行拼接

关于日期对象的相关方法

get开头 获取

  • 获取年 getFullYear

  • 获取月 getMonth (0-11)

  • 获取日 getDate

  • 获取星期 getDay (星期天是第一天 0)

  • 获取时 getHours

  • 获取分

  • 获取秒

  • 获取毫秒

  • 获取时间戳

  • 获取时区偏移量

    var date=new Date()
           //获取方法
           console.log(date.getFullYear());// 年
           console.log(date.getMonth());// 月 0开头-11
           console.log(date.getDate());// 日
           console.log(date.getDay());// 星期几
           console.log(date.getHours());// 时
           console.log(date.getMinutes());// 分
           console.log(date.getSeconds());// 秒
           console.log(date.getMilliseconds());// 毫秒
           console.log(date.getTime());// 时间戳 可作为唯一标识
    console.log(date.getTimezoneOffset())// 获取时区偏移量

     

    获取UTC时间 getUTCMonth(抛除时区的影响)

set开头 设置

var date=new Date()
       date.setFullYear()
       date.setDate()
       date.setHours()
       date.setMonth()
       date.setMilliseconds()
       date.setMinutes()
       date.setSeconds()

设置UTC时间 getUTCMonth(抛除时区的影响)

转字符串相关方法

var date =new Date()
       console.log(date.toDateString());// 转日期
       console.log(date.toString());
       console.log(date.toTimeString());// 转时间
       console.log(date.toISOString());// 遵从ISOS协议的字符串
       console.log(date.toLocaleString());// 根据本地格式转为字符串(可以格式化)
       console.log(date.toLocaleDateString());// 根据本地格式转为日期字符串
       console.log(date.toUTCString());// 返回UTC时间字符串
       console.log(date.toLocaleTimeString());// 根据本地格式转为时间字符串
// 设计一个函数返回两个时间之间的天数
       function getDay(date1, date2) {
           var ms = Math.abs(date1 - date2)
           return parseInt(ms / 1000 / 60 / 60 / 24)
      }
       console.log(getDay(new Date(), new Date('2023/1/21')));
       // 设计一个函数返回一个时间七天后的时间以
       // YYY - mm - dd hh: mm: ss显示
       function formarDate(date) {
           return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}
           ${fn(date.getHours())}:${fn(date.getMinutes())}:${fn(date.getSeconds())}`
      }
       function fn(number) {
           if (number < 10) {
               return '0' + number
          }
           return number
      }
       function setDayToDate(date, day) {
           date.setDate(date.getDate() + day)
           return formarDate(date)
      }

       console.log(setDayToDate(new Date(),7));
       // 计算今年一共过了几个星期


       function getNowWeekCount() {
           var start = new Date('2023/1/1')
           var current = new Date()
           var startWeek = start.getDay()
           var currentWeek = current.getDay()
           console.log(startWeek, currentWeek);
           return parseInt((getDay(start, current) - (6 - startWeek) - currentWeek) / 7)
      }
       console.log(getNowWeekCount());
       // 打印输出今年最后一个星期天的时间
       function getLastSunDay() {
           var date = new Date('2023/12/31')
           while (true) {
               if (date.getDay() == 0) {
                   return date
              }
               // 从后往前数
               date.setFullYear(2023, 11, getDate()--)
          }
      }
       console.log(formarDate(getLastSunDay()));

对象

概述

对象是一个存储的容器,他是一个引用的数据类型。它里面可以存储一些属性(值)及方法(函数其实就是对应的动作),它里面存储时以key:value的形式存储的(key是唯一标识不可以重复,value是值),可以通过key来访问对应的value

对象的声明(Object)

赋值声明

var obj={}// 空对象

以new关键字来调用构造函数进行声明(new Object)

var obj=new Object() // 空对象

Object 属于顶级父类 所有的对象都是他的子类

对象在比较的时候比较的是地址

扩展:

空对象是true

对象的增删改查

 var obj={
name:'jack',
sayHi:function(){
console.log('Hi');
},
children:{
username:'rose'
}
}
// 遍历对象中的属性
for(var key in obj){
console.log(key);
console.log(obj[key]);
}
// 对象名.属性名
console.log(obj.name);
// 通过[]访问
console.log(obj['name']);
obj.sayHi()
console.log(obj.children.username);
console.log(obj["children"]["username"]);
// 增加
obj.sex='男'
console.log(obj);
// 修改
obj.name='tom'
console.log(obj);
// 删除
delete obj.sex
console.log(obj);

this 关键字

this表示这个,this是一个指针引用他没有特定的值,他是根据对应的调用者来执行其引用地址

对象中的函数里的this

对象中函数里的this 指向当前的对象

this在普通函数中指向其调用者。在全局范围内调用者为window在对象中调用者为当前对象

在事件处理中 this指向当前事件的派发者

window对象的两个函数

setInterval 定时器(在一定时间内循环执行某个操作)

写法

以匿名函数的形式

// 参数1为执行的代码 参数2为间隔时间,参数3为传递给参数1的函数的参数(可以省略)
setInterval(function(arg),2000,1)

以具名函数的形式

function fn(arg){
console.log(arg)
}
setInterval(fn,2000)

以字符串形式

setInterval('console.log("hello")',1000)

清除定时器

clearInterval(定时器名)// 清除定时器 一定要做的 如果不做将一直执行

 

setTimeout 延时器(延迟执行某个操作 执行一次)

用法同上 也要关

总结

setInterval 和 setTimeout 是异步的 也就是说他不会阻塞正常代码的执行

  • setInterval和setTimeout是通过定时触发器线程计时完放入任务对象等待js引擎空闲再执行 他一定慢于js引擎直接执行的代码

  • 同步比异步快

  • 定时器或延时器开启后必须关闭否则会占用内容

  • 不要在定时器中嵌套定时器(如果需要的话那么每一次都需要在外层的定时器都需要关闭内层定时器)

  •  

标签:console,log,笔记,Date,var,date,new
From: https://www.cnblogs.com/balloontrue/p/17120678.html

相关文章

  • FWT 快速沃尔什变换学习笔记
    \(\text{FWT}\)快速沃尔什变换给定两个序列\(a,b\),求解序列\(c\)满足:\[c_i=\sum_{j\cdotk=i}a_jb_k\]其中\(\cdot\)可以为\(\&\),\(|\),还有\(\oplus\)等位......
  • 机器学习 吴恩达 第十一章 笔记
    十一、支持向量机(SupportVectorMachines)11.1优化目标  到目前为止,你已经见过一系列不同的学习算法.在监督学习中,许多学习算法的性能都非常类似.因此,重要的不是......
  • 【读书笔记】WebKit 技术内幕
    本文总结下《WebKit技术内幕》的要点。第一章浏览器和浏览器内核浏览器背景:80年代后期90年代初期:世界上第一个浏览器WorldWideWeb(后改名为Nexus),Berners-Lee发明......
  • C语言学习笔记(九):文件的操作
    C文件的知识什么是文件操作系统把各种设备都统一作为文件来处理。例如,终端键盘是输入文件,显示屏和打印机是输出文件。文件一般指存储在外部介质上数据的集合。操作系统......
  • 【学习笔记】Spring注解开发
    Spring注解开发使用注解开发首先要导入context约束,然后开启注解支持<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/bea......
  • 读书笔记(三)--世界上最伟大的推销员
    读书笔记--第3篇--《世界上最伟大的推销员》1.我用全身心的爱来迎接今天。我赞美敌人。我在心里默默地为每一个人祝福。我爱自己,我用清洁与节制来珍惜我的身体,我用智慧和......
  • 读书笔记(十三)--成交
    ​读书笔记--第13篇--《成交》​管理可以分为五个层次:第一个层次,最常见的时间管理,比如员工上下班打卡,有固定的工位,从事固定的工作。第二个层次,属地管理。人在一个固......
  • 读书笔记(六)--成交
    读书笔记--第6篇--《成交》​1.在IT企业,陌生人很容易一眼就能分辨出谁做销售,谁做技术,谁做管理。冲着陌生人微笑言语客气的一般是销售,一脸漠然甚至有些高傲的是技术,用......
  • 读书笔记(五)--公司绝不会告诉你的50大秘密
    读书笔记--第5篇--《公司绝不会告诉你的50大秘密》0.法律解救不了您。1.聪明过头并非明智之举。2.年龄和性别歧视是活生生的现实。3.公司并非畅所欲言的好地方。4.如果你与......
  • 三角函数学习笔记
    不会三角函数/ng基础定义锐角定义定义:直角所对的边称作斜边,角\(\theta\)所对的边称为对边,剩下的那条边(和\(\theta\)相邻)称为邻边。则\[\begin{aligned}\sin(\t......