今天,就让我们来了解一下JS中Date对象、包装类吧!
一.Date对象
1.Date对象也就是日期对象,属于内建对象,在JS中使用Date对象来表示一个时间。
2.创建Date对象:
①可以使用构造函数进行创建Date对象,创建好的Date对象显示为当前代码执行的时间。
如下图:声明一个变量d,并对其进行输出操作。
②可以创建一个指定的时间对象,需要在构造函数中传递一个表示时间的字符串作为参数(注:传入的参数必须是一个时间的字符串)。
如下图:声明一个变量d2,并对其进行输出操作。
3.Date对象的方法:
①getFullYear() - 获取对象以四位数字返回年份
②getMonth() - 获取当前日期对象的月份并返回一个0~11的值(0一月、1二月、以此类推)
③getDate() - 获取当前日期对象时几日
④getDay() - 获取当前日期是星期几并返回一个0~6的值(0周日、1周一、以此类推)
⑤getFullYear() - 获取当前日期对象的小时
⑥getHours() -获取当前日期对象的分钟
⑦getMinutes() - 获取当前日期对象的秒数
⑧getTime() - 获取当前日期对象的时间戳
时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒到当前日期所花费的毫秒数(1秒=1000毫秒),可以使用时间戳来测试代码的执行性能,且计算机底层在保存时间时使用都是时间戳,还有就是注意时差的问题 我们所使用的时间是北京时间。(注:日期对象里面还有很多的方法,这里就不一一列举了)
4.那么,我们该怎样将这些Date对象方法运用到我们的代码中去呢?很简单,我们可以先使用构造函数new创建好一个Date对象,然后通过一个英文中的“.”调用到上面提出的方法,在再对其进行输出的操作。这样,便可以得到我们想要获取的时间啦!
如:我们要获取当前时间的年份。
5.在获取时间的时候,有一点需要注意,由于“getMonth()”返回的数字与月份的数字不一致。对此,在我们的代码中可对其进行处理,即在调用的方法后面为其“+1”。
6.在显示时间的时候,我们须保持其为两位数的跳动。那么,当显示时间的数字为0~9时,我们又该如何对其进行操作呢?
在这里,以获取“09:10”为例:一般来说,我们可以考虑使用if语句对其进行判断。但是,这里为了能让代码更加简洁明了,便使用三目运算符进行对获取到的数字判断是否为0~9。若是,则可在其前面添加一个字符串“0”。
二.数组
1.数组的方法:
我们知道数组也是对象(内建对象),它和我们普通对象功能类似,也是用来存储一些值的,不同的是普通对象使用字符串作为属性名,而数组是使用数字来作为索引操作元素。那么,我们来了解它的一些方法。
⑴concat() 用于连接两个或更多的数组,并返回结果。
⑵ join() 把数组的所有元素串联成一个字符串。元素通过指定的分隔符进行分隔。
⑶ push() 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度;可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾;该方法会将数组新的长度作为返回值返回。
⑷pop() 该方法可以删除数组的最后一个元素,并将被删除的元素作为返回值返回。
⑸ unshift() 向数组开头添加一个或多个元素,并返回新的数组长度;向前边插入元素以后,其他元素的索引会依次调整。
2.数组的遍历
⑴所谓的遍历数组,就是将数组中所有的元素都取出来。
三.包装类
1.我们知道,数据类型有两种:基本数据类型(String Number Boolean Null Undefined)、
引用数据类型(Object)。那么,怎样才能将基本数据类型转换为Object呢?在JS中,其提供了三个包装类,这三个包装类可以将基本数据类型转换为对象。
2. 这三个包装类分别为:
String() 可以将基本数据类型字符串转换为String对象
Number() 可以将基本数据类型的数字转换为Number对象
Boolean() 可以将基本数据类型的布尔值转换为Boolean对象
3.我们可以通过typeof检测数据类型转换是否成功。但是需要注意的是,我们在实际应用中不会使用基本数据类型的对象,包装类是浏览器底层自己使用的。
如下图:
4.方法和属性只能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换对象,然后在调用对象的属性和方法,调用完以后,再将其转换为基本数据类型
5. 将基本数据类型转换为“Number”对象,通过对象调用toString()方法