开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第23天,点击查看活动详情
8、Date
Date
-
在JS中所有的和时间相关的数据都由Date对象来表示
-
对象的方法:
getFullYear() 获取4位年份
getMonth() 返当前日期的月份(0-11)
getDate() 返回当前是几日
getDay() 返回当前日期是周几(0-6) 0表示周日
......
getTime() 返回当前日期对象的时间戳
时间戳:自1970年1月1日0时0分0秒到当前时间所经历的毫秒数
计算机底层存储时间时,使用都是时间戳
Date.now() 获取当前的时间戳
<script>
let d = new Date() // 直接通过new Date()创建时间对象时,它创建的是当前的时间的对象
// 可以在Date()的构造函数中,传递一个表示时间的字符串
// 字符串的格式:月/日/年 时:分:秒
// 年-月-日T时:分:秒
d = new Date("2019-12-23T23:34:35")
// new Date(年份, 月, 日, 时, 分, 秒, 毫秒)
d = new Date(2016, 0, 1, 13, 45, 33)
d = new Date()
result = d.getFullYear()
result = d.getMonth()
result = d.getDate()
result = d.getDay()
result = d.getTime()
console.log(result) // 1659088108520 毫秒
</script>
9、日期的格式化
toLocaleString()
-
可以将一个日期转换为本地时间格式的字符串
-
参数:
-
描述语言和国家信息的字符串 zh-CN 中文中国 zh-HK 中文香港 en-US 英文美国
-
需要一个对象作为参数,在对象中可以通过对象的属性来对日期的格式进行配置 dateStyle 日期的风格 timeStyle 时间的风格 full long medium short hour12 是否采用12小时值 true false weekday 星期的显示方式 long short narrow
year numeric 2-digit
-
<script>
const d = new Date()
let result = d.toLocaleDateString() // 将日期转换为本地的字符串
result = d.toLocaleTimeString() // 将时间转换为本地的字符串
result = d.toLocaleString("zh-CN", {
year: "numeric",
month: "long",
day: "2-digit",
weekday: "short",
})
console.log(result)
</script>
10、包装类
在JS中,除了直接创建原始值外,也可以创建原始值的对象
通过 new String() 可以创建String类型的对象
通过 new Number() 可以创建Number类型的对象
通过 new Boolean() 可以创建Boolean类型的对象
- 但是千万不要这么做
包装类:
JS中一共有5个包装类
String --> 字符串包装为String对象
Number --> 数值包装为Number对象
Boolean --> 布尔值包装为Boolean对象
BigInt --> 大整数包装为BigInt对象
Symbol --> 符号包装为Symbol对象
- 通过包装类可以将一个原始值包装为一个对象,
当我们对一个原始值调用方法或属性时,JS解释器会临时将原始值包装为对应的对象
然后调用这个对象的属性或方法
- 由于原始值会被临时转换为对应的对象,这就意味着对象中的方法都可以直接通过原始值来调用
<script>
// let str = new String("hello")
// let num = new Number(11)
// let bool = new Boolean(true)
// let bool2 = new Boolean(true)
// alert(bool == bool2)
let str = "hello"
str.name = "哈哈"
let num = 11
num = num.toString()
// null.toString()
console.log(num)
</script>
11、垃圾回收
垃圾回收(Garbage collection)
-
和生活一样,生活时间长了以后会产生生活垃圾 程序运行一段时间后也会产生垃圾
-
在程序的世界中,什么是垃圾?
- 如果一个对象没有任何的变量对其进行引用,那么这个对象就是一个垃圾
- 垃圾对象的存在,会严重的影响程序的性能
- 在JS中有自动的垃圾回收机制,这些垃圾对象会被解释器自动回收,我们无需手动处理
- 对于垃圾回收来说,我们唯一能做的事情就是将不再使用的变量设置为null
<script>
let obj = {name:'孙悟空'}
let obj2 = obj
obj = null
obj2 = null
</script>