写在前头
大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。
注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。
思维导图
简述
引用类型虽然有点像类,但跟类并不是一个概念。还是得区分开来,引用类型就是一个模子,可以用这个模子造出很多东西。
脉络 5.1 Date
什么是引用类型
书上原话:引用值(或者对象)是某个特定引用类型的实例。引用类型是把数据和功能组织 到一起的结构,经常被人错误地称作“类”。 引用类型就是一个模型,可以根据这个模具造出很多具体的实体,比如“狗”,可以造出什么“小狼狗”,“舔狗”,“野狗”。
创建新对象
对象被认为是某个特定引用类型的实例。一般使用new操作符来创建对象。
注意:函数也是一种引用类型。
5.1. Date
创建对象
- 不传参数
使用Date类型不传参,直接使用new操作符创建一个对象。
let date = new Date(); // 这里date保存的时间是现在的日期和时间 复制代码
- 传参数
传入特定参数,用来表示特定的时间。
Date.parse()
日期格式:
传入的参数格式一共有4种
非日期:
传入参数不符合要求就会返回NaN。
Date.UTC()
日期格式
传入的参数格式是年,月(0开始计算),日,时,分,秒,毫秒。
默认值
如果不传入参数,那么就会默认为全部是0。 - 隐式调用
Date.parse()
如果传入Date()的参数是符Date.parse()的日期格式的,那么Date后后台默认调用Date.parse()。
Date.UTC()
传入Date()的参数格式是年,月(0开始计算),日,时,分,秒,毫秒。那么后台就会默认调用 Date.UTC()。 - 越界日期
不同浏览器会使用不同手段处理越界日期。
①进位
大多数浏览器就会采用“进位”,比如32这种就会变成下个月1号。1,月32号变为2月1号。
②插入当前日
Opera 就会把日,直接替换为当前现在的日。比如32号直接换成当天的5号,6号,什么的。 - Date.now()
直接返回当前方法执行的日期和时间。就像你用秒表时,按一下,就记录一下这一时刻的时间,再按一下就记录另外一时刻的时间。