07 日期对象及对象讲解

记录rk3588 在Linux 6.1内核版本声卡 bug。 rk3588 Audio bug 阅读详情

07 日期对象及对象讲解

日期对象概述

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

日期对象的声明

使用new关键词声明

new Date()
无参构造声明(构建对象的方法叫做构造函数)
  • 构造函数首字母大写
  • 使用new关键词调用构造函数产生新的对象
//无参构造声明是获取当前的本地时间
var date = new Date()
//他是以本地的时间格式进行显示的 UTC (构建标准时间)
console.log(date)
传入字符串作为参数(格式不正确会出现Invalid Date)
//传递对应的字符串 以字符串转为对应的时间
var date = new Date('2000/2/14 10:43:10')
console.log(date)
传递多个number类型的参数(如果值超出自动向上递增)
//传递多个数字 最多支持传递6个参数 年 月 日 时 分 秒
//传递的月份 从0开始到11 
var date = new Date(2000,2,12,10,40,10)
console.log(date)//3月12
var date = new Date(2022,10,10)
console.log(date)//2022年11月10日 00:00:00
传递毫秒值来构建
//传递一个参数为number值 他将number值识别为毫秒 + 格林兰治时间(1970/1/1 00:00:00)
var date = new Date(2000)
console.log(date)
日期对象的比对

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

var date2 = new Date()
console.log(date2 - date1)//毫秒值
console.log(date2+date1)//连接操作
console.log(date2*date1)//毫秒值计算

日期对象的相关方法

get开头 获取
  • 获取年 getYear

  • 获取月 getMonth (月份0-11)

  • 获取日 getDate

  • 获取星期几 getDay (星期天是0)

  • 获取时 getHours

  • 获取分 getMinutes

  • 获取秒 getSeconds

  • 获取毫秒 getMilliseconds

  • 获取时间戳 getTime

  • 获取时区偏移量 getTimezoneOffset

    var date = new Date()
    //获取的相关方法
    console.log(date.getFullYear()) //获取年
    console.log(date.getMonth()) //获取月 (0-11)
    console.log(date.getDate()) //当前日
    console.log(date.getDay()) //获取星期几 (星期天为0)
    console.log(date.getHours()) //获取小时 (0-23)
    console.log(date.getMinutes()) //获取分钟 (0-59)
    console.log(date.getSeconds()) //获取秒中 (0-59)
    console.log(date.getMilliseconds()) //获取毫秒 (0-999)
    console.log(date.getTime()) //离格林兰兹时间的毫秒值 时间戳(唯一标签)
    console.log(date.getTimezoneOffset())//获取时区
    
获取UTC时间(抛除时区的影响)
  • getUTCHours
set开头 设置
  • setFullYear 设置年份
  • setMonth 设置月份
  • setDate 设置天
  • setHours 设置小时
  • setMinutes 设置分钟
  • setSeconds 设置秒钟
  • setMilliseconds 设置毫秒
var date = new Date();
date.setFullYear(2000,11,12) //设置年份 还可以传入月份及日期
date.setMonth(10) //设置月份 还可以传入日期
date.setHours(16) //设置小时 还可以传入分秒毫秒
date.setDate(10) //设置天
date.setMinutes(10) //设置分钟 还可以传入对应的秒 毫秒
date.setMilliseconds(10) //设置毫秒
date.setSeconds(10) //设置秒 还可以传入毫秒
console.log(date)
设置UTC时间(抛除时区的影响)
  • setUTCHours
转字符串相关方法
var date = new Date()
console.log(date.toString())
console.log(date.toDateString()) //转日期
console.log(date.toTimeString()) //转时间
console.log(date.toLocaleString()) //根据本地格式转为字符串 (可以进行格式化)
console.log(date.toLocaleDateString()) //根据本地格式转为日期字符串
console.log(date.toLocaleTimeString()) //根据本地格式转为时间字符串
console.log(date.toUTCString()) //返回UTC时间字符串
console.log(date.toISOString()) //遵从ISOS协议的字符串
练习

设计一个函数返回俩个时间之间间隔的天数

设计一个函数返回一个时间七天后的时间 以YYYY-mm-dd hh:MM:ss显示

计算今年一共过了几个星期

打印输出今年最后一个星期天的时间

对象

概述

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

对象的声明(Object)
赋值声明
var obj = {} //空对象
console.log(obj)
以new关键词来调用构造函数进行声明(new Object)
var obj = new Object()//空对象
console.log(obj)

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

对象在比较的时候比较的是地址
{} == {} //false
对象的增删改查

查 (for in遍历查询)

  • 可以通过对象名.属性名来进行访问
  • 可以通过对象名[属性名字符串]来进行访问
var obj = {
    name:'jack',//key为name的属性他的值为jack
    sayHello:function(){ //sayHello 对应的值为一个函数
        console.log('hello')
    },
    children:{
        username:'rose'
    }
}
//for in来遍历对象的中属性
for(var key in obj){
    console.log(key)
    console.log(obj[key])
}
//通过key来访问对应的值 
//对象名.属性名
console.log(obj.name)
//通过[]来访问 对象名[属性名字符串]
console.log(obj['name'])
obj.sayHello()
//通过父对象访问里面的属性对象
console.log(obj.children.username)
console.log(obj['children']['username'])

增 (对象属性赋值)

//增加 对于没有的属性进行赋值就是添加
obj.age = 18
console.log(obj)

修改 (重新赋值)

//修改 对于有的属性重新赋值就是修改
obj.name = 'tom'
console.log(obj)

删除 delete关键词

//对于属性进行删除
// delete obj.age
delete obj['age']
console.log(obj)

this关键词

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

对象中的函数里的this指向当前对象
//对象中函数里的this 指向对应的对象
obj.say = function(){
    console.log(this == obj)//true
}
obj.say()
函数中的this 指向调用函数的对象
//对象中函数里的this 指向对应的对象
obj.say = function(){
    console.log(this == obj)//true
}
obj.say()
function test(){
    console.log(this)//指向window
}
//所有在全局声明的变量及函数都是全局的变量 全局变量指向global对象 在浏览器中的global对象是window
//所以对应的全局声明的函数是属于window 也就是说这个函数是由window来调用的 所以里面的this就指向window
window.test() // test() 省略了window window可以被省略的
var a = 'hello'
console.log(window.a)
console.log(window['a'])
  • this在普通函数中指向其调用者,在全局范围内调用者为window 在对象中调用者为当前对象

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

    <button id="btn">点我</button>
    <script>
        var btn = document.getElementById('btn')
        btn.onclick = function(){
            console.log(this) //按钮
        }
    </script>
    

window对象的俩个函数

setInterval 定时器 (在一定事件内循环执行某个操作 执行多次)
写法

以匿名函数的形式

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

以具名函数的形式

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

以字符串的形式(不建议)

setInterval('console.log("hello")',1000)
clearInterval 清除定时器(必须要做 如果不做那么定时器会无限执行)
var i = 0
var timer = setInterval(function (arg) {//setInterval会返回一个标识这个标识是number类型
    i++
    console.log(arg)
    console.log(i,timer)
    //当i到达100的时候停止
    if(i==100){
        clearInterval(timer)//清除定时器 一定要做的
    }
}, 100, 1)
setTimeout 延时器 (延迟执行某个操作 执行一次)
clearTimeout清除延时器
//和setInterval用法一致 只不过他只执行一次
var timer = setTimeout(function(){
    console.log(2)
},3000)
//清除延时器
console.log(timer)
clearTimeout(timer)
总结
  • setInterval及setTimeout是异步的 也就是说他不会阻塞正常代码的执行

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

  • 同步比异步快

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

  • 不要在定时器中嵌套定时器(如果需要的话那么每一次都需要在外层的定时器都需要关闭内层定时器)
  • 外层定时器的间隔时间一定要打印里层的间隔时间
计时器案例
<div id="showText">00:00:00</div> <button id="start">开始计时</button> <button id="stop">停止计时</button>
<script>
    //获取所有的元素
    var show = document.getElementById('showText')
    var start = document.getElementById('start')
    var stopBtn = document.getElementById('stop')
    //定时器
    var timer
    //点击开始按钮开始计时
    start.onclick = function () {
        //清除上一次的定时器
        clearInterval(timer)
        var h = 0 //时
        var m = 0 //分
        var s = 0 //秒
        //时间发生变化
        timer = setInterval(function () {
            //在每次变化的时候改变对应的showText里面的显示内容
            s++
            if(s==60){
                m++
                s=0
            }
            if(m==60){
                h++
                m=0
            }
            //将对应的内容进行拼接显示到对应的showText中
            show.innerHTML = `${fn(h)}:${fn(m)}:${fn(s)}`
        }, 1000)
    }
    //补零的方法
    function fn(number){
        if(number<10){
            return '0'+number
        }
        return number
    }
    //点击停止按钮停止计时
    stopBtn.onclick = function () {
        //清除定时器
        clearInterval(timer)
    }
</script>
平台跳跃游戏中的自动寻路,与地图导航扩展 平台游戏:主要的游戏方式是在2D平面上使用各种方式在悬浮平台上进行移动和穿过各种障碍。 现如的平台游戏中的平台特性与种类是很多的,像马里奥(FC)的单向支撑不可穿透的,或魂斗罗(FC)单向支撑可穿透的… \ 超级玛丽 魂斗罗 空洞骑士 蔚蓝 本博文 支撑 上 上 上 左、上、右 上 穿透 无 上、下 无 上(部分) 上下 所以本文主要以向上支撑并上下穿透的平台特性来进行实现 需求分析 在关卡设计后,地形的数据需要自动识别 地形中的平台可上下穿透移动,并可向上站立 平台的移动路.. 阅读详情

相关推荐

AIPex:AI + 自然语言驱动的浏览器自动化扩展

AIPex是一款革命性的Chrome扩展,通过AI技术实现自然语言驱动的浏览器自动化。它支持30多种自动化工具,包括智能标签页管理(分组、切换、批量操作)、页面内容提取(文本、链接、元数据)、交互元素操作(点击、滚动)以及表单智能填写等功能。用户只需用自然语言下达指令,即可快速完成复杂的浏览器操作,大幅提升工作效率。AIPex特别适合需要处理大量重复性网页操作的用户,如数据分析师、产品经理等。

blues_C的博客 956

JavaScript07,方法的定义和调用、apply,Date的日期对象JSON对象

方法的定义和调用、apply Date的日期对象 JSON对象

qq_50034199的博客 519

UNet 改进(27):结合SCSE注意力机制的UNet网络实现

本文介绍了一种结合SCSE注意力机制的改进UNet网络架构。该网络在保持UNet经典编码器-解码器结构基础上,通过在每层添加SCSEBlock模块,融合了通道注意力和空间注意力机制。通道注意力通过全局池化和1×1卷积生成通道权重,空间注意力则产生空间权重图,二者相加增强关键特征响应。该设计具有以下优势:1)保持原始UNet的多尺度特征提取能力;2)通过注意力机制提升对重要区域的关注度;3)计算效率高,仅增加少量参数。测试显示网络能保持输入输出分辨率不变,适用于医学图像分割等像素级预测任务。完整代码实现了5层

2401_82355416的博客 394

day07-日期对象对象、定时器

day07-日期对象对象、定时器

m0_71706639的博客 206

day-07日期对象对象

日期对象类型使用自UTC(Coordinated Universal Time,国际协调时间) 1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。Date类型保存的日期能够精确到1970年1月1日之前或之后的 285616年.

Clytza的博客 200

JavaScript学习初阶07-日期

日期对象是静态的,所以对象得时间不变得,一直是创建对象时得时间 创建 Date 对象 new Date() 创建新的日期对象,产生GMT时 var d = new Date(); //Thu Aug 01 2019 16:51:08 GMT+0800 (中国标准时间) new Date(year, month, day[, hours, minutes, seconds, millisecon...

a1064355047的博客 287

JavaScript--日期对象

JavaScript--日期对象以及求当前时间的年月日的方法

m0_72231179的博客 437

对象object,Math对象(运算的方法),Date日期对象方法

目录对象创建一个对象对象的分类基本类型与引用类型的区别Math对象(运算的方法)Date() 创建日期对象Date日期对象方法综合案例 回顾:八大类型 基础类型 number(数值) string(字符串) boolean(布尔值) null(空) undefined(未定义) 引用类型 数组 array 函数function 对象Object 对象 对象是指一个具体的事物。万物皆对象。 一个具体的事物一般都会有行为和特征。 对象的行为------js对象的函数 对象的特征------js对象的属性 Jav

你还有我 850

日期对象及相关实现

可能bug new Date(string)中string不能是‘YYYY-M-D’,而应该是‘YYYY-MM-DD’ 因为在iOS或者Safari浏览器中会报错,但如果使用’/’连接是ok的 建议使用‘/’或者moment http://momentjs.cn ...

handy_csdn的博客 232

js对象Object,,日期时间的应用

对象 对象是指一个具体的事物。万物皆对象。 一个具体的事物一般都会有行为和特征。 对象的行为------js对象的函数 对象的特征------js对象的属性 JavaScript中的对象 JavaScript中的对象可以看做生活中具体事物的抽象。 js对象是属性+函数的集合。 属性:可以是基本数据类型,也可以是引用数据类型。 创建一个对象 使用new关键字类创建 var hero = new Object(); 使用字面量 var hero = {} 新增属性

xh0112的博客 401

07-常用内置对象

【转】07-常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法 数组Array 1.数组的创建方式 字面量方式创建(推荐大家使用这种方式,简单粗暴) var colors = ['red','color','yellow']; 使用构造函数(后面会讲)的方式创建 使用new关键词对构造函数进行创建对象 ...

weixin_30501857的博客 61

GitHub 热榜项目:日榜(2026-08-18)

本期 GitHub 热榜聚焦 AI 工具链扩展:渗透测试、安全技能库和代理记忆项目持续升温,本地 LLM 推理工具则围绕硬件适配与 Apple Silicon 优化展开;短视频生成、量化交易、求职管理和自托管照片等应用也同步上榜。

u130130的博客 348

React JWT 登录鉴权实战:串起 Zustand、Axios 拦截器与路由守卫

标签:React, JWT, Zustand, Axios, React Router在 React 项目里,登录接口返回 token 只是起点。真正容易遗漏的是:刷新后怎样恢复登录态、业务请求怎样自动携带 token、受保护页面怎样拦截,以及服务端怎样识别伪造或过期凭证。本文基于一个 React + Zustand + Axios + React Router + Vite Mock 项目,拆解完整数据流,并指出教学实现与生产鉴权的边界。源码仅做静态分析,。

2501_93234401的博客 268

基于ReAct框架的Agent工具调用鲁棒性提升策略

层面核心策略关键收益架构层规划与执行解耦(RP-ReAct)轨迹稳定,上下文可控执行层结构化工具调用 + Schema校验格式错误率从23%降至<0.3%反馈层Observation信息层级升级(L0→L2/L3)从盲目重试升级为智能决策测试层故障注入 + 优雅降级上线前暴露脆弱点,运行时安全兜底鲁棒性的本质,是在承认LLM会犯错、工具会失效的前提下,通过工程手段将失败控制在一定范围内。正如ReAct框架的初衷——让模型“边想边做”——工程化的目标则是让Agent“即使做错了,也知道怎么修正”

Cloud_bread的博客 198

JavaScript 实现高效 PDF 转 HTML:加载、转换、下载

本文详细介绍了如何在 React 应用中利用 JavaScript 与 WebAssembly 技术,在浏览器端完全本地化地将 PDF 文件转换为 HTML 页面,无需依赖任何后端服务。

Eiceblue的专栏 205

python,vue3 web项目.gitignore,推送标签到git,后续项目可基于此标签作为基础继续开发

【代码】python,vue3 web项目.gitignore,推送标签到git,后续项目可基于此标签作为基础继续开发。

kobe_okok的博客 19

盛最多水的容器(双指针)

本文讲解LeetCode第11题「盛最多水的容器」的解法。通过分析容器面积由宽度和最小高度决定,提出双指针解法:初始时指针位于数组两端,每次移动较矮的指针,并计算当前面积更新最大值。该策略基于贪心思想,确保不会错过最优解。JavaScript实现代码展示了O(n)时间复杂度的解法,示例演示了计算过程。这是双指针算法在数组问题中的典型应用,理解移动较矮指针的策略对解决类似问题具有启发意义。

2301_81726198的博客 320

VS Code 快速生成Vue3 + TypeScript + Setup 基础空模板

很简单吧,以后不用手敲基础的模板,也可以将一些比较通用的在json文件内加上,类似class等,以此展开。按下Ctrl+Shift+P(Windows)/Cmd+Shift+P(Mac),输入「好了,你们看见我的原力值了么…新建vue文件实践一下,输入。失踪人口回归,原力值回家。」,选择vue.json。

M1512415的博客 161

vue3 实战系列之踩过的一些坑

最近在总结一些过去的项目经验,偶有所得,把一些之前踩过的坑汇总一下。

weixin_45879335的博客 213

前端性能优化实战:从白屏到秒开

本文详细记录了一个前端性能优化实战案例,通过系统化方案将首屏加载时间从4.8秒降至0.9秒,LCP指标从5.2秒优化到1.1秒。文章从业务价值切入,强调性能优化对转化率的直接影响,提供了完整的"指标→定位→优化→验证"方法论。核心优化措施包括:网络层启用HTTP/2和CDN、资源加载策略优化(代码分割/懒加载)、渲染层关键CSS内联和骨架屏实现、JavaScript长任务拆分、图片字体专项优化等。最后通过真实数据对比展示优化效果(LCP降低64%,转化率提升18%),并推荐Lighthouse等诊断工具。文

物物而不物于物,念念而不念于念 281

告别 `innerHTML` 的烦恼:一个纯原生安全的 HTML 注入方案

本文提出了一种纯原生JavaScript方案,用于安全替换项目中危险的innerHTML方法。文章首先分析了innerHTML存在的XSS风险,如执行恶意脚本和触发事件攻击。核心方案是基于DOMParser和递归DOM遍历的白名单清洗机制,通过appendSafeHTML方法实现安全注入,全程不使用innerHTML。该方法配置了允许的HTML标签和属性,并对href/src进行协议校验。同时提供了备选方案sanitizeHTML,返回清洗后的字符串供特殊场景使用。这种零依赖方案兼顾安全性与实用性,适合大规

qq_45089709的博客 182

基于SpringBoot+Vue3的企业办公自动化OA系统|集成Activiti工作流引擎

项目基于SpringBoot+Vue3前后端分离架构开发,融合工作流审批、公文办公、会议考勤、日程管理等核心企业办公场景,技术栈主流、业务逻辑完善,是非常优质的Java计算机毕业设计、课程设计实战项目。基于Activiti工作流引擎搭建企业审批体系,支持请假、报销、采购、用章等常用办公审批流程,支持流程自定义配置、灵活适配企业不同审批规则,流程流转清晰、状态实时可查。实现企业公文起草、线上审核、签发、归档的全生命周期管理,内置多种通用公文模板,支持电子印章功能,规范企业公文办公流程。

ykhZuojava的博客 206

三角模糊层次分析法_matlab

【达摩老生出品,必属精品,亲测校正,质量保证】资源名:三角模糊层次分析法_matlab资源类型:matlab项目全套源码源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。适合人群:新手及有一定经验的开发人员

《神经网络与深度学习》课后习题答案-分享讨论.zip

《神经网络与深度学习》课后习题答案-分享讨论.zip

上一篇: 06 字符串
下一篇: 08 BOM
V我50,听菜狗逆袭之路
博客等级 码龄6年 3粉丝 · 18原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值