温习日志
——2023年2月1日下午
学习内容
- 转换和检查数字
- 对于数字
23
和23.0
是相等的 0.1 + 0.2
由于JS原因不等于0.3
,而是0.300000000000004
- 将字符串转换是
Number('23')
也可以是+'23'
效果一样 Number.parseInt()
和Number.parseFloat()
进行解析字符串,如:Number.parseInt('23px')
可以转换为数字23
,但是对于开头x23
解析不了,返回NaN
Number.parseInt
接受两个参数,第一个就是解析的字符串,第二个是转换的进制,默认十进制Number.parseFloat
接受两个参数,第一个就是解析的字符串,第二个是转换的进制,默认十进制- 通过
Number.isNaN()
检验是否为非数字,20X
也返回false
- 通过
Number.isFinite()
检验是否为有限数字,不进行类型转换 - 通过
Number.isInteger()
检验数字是否为正数,如:23
和23.0
都是返回true
- 对于数字
- Math and Rounding
- 通过
Math.sqrt()
返回平方根,如:Math.sqrt(4) === 2
- 可以通过
4 ** (1/2)
实现Math.sqrt(4)
的效果,两个乘就是幂的意思 - 通过
Math.max()
返回参数中最大的数字,会进行类型转换 - 通过
Math.min()
返回参数中最大的数字,会进行类型转换 Math.PI
返回π的值- 通过
Math.trunc()
返回数字的整数 Math.random()
返回的是0到1(不包含1)的随机值- 通过
Math.round()
将数字进行四舍五入,对于负数也是无视直接四舍五入 - 通过
Math.ceil()
返回数字的整数往高的值取,对于负数是往高的取,如:Math.ceil(-2.1) === -2
- 通过
Math.floor()
返回数字的整数往低的值取,对于负数是往低的取,如:Math.ceil(-2.1) === -3
- 通过
数字.toFixed()
接收一个参数,数字几就保留几位小数,会进行四舍五入,返回的是字符串
- 通过
- 余数运算符
- 通过
5 % 2
返回的是余数1
- 通过
5 / 2
返回的是除数2.5
- 通过
- bigInt
- 对于数字,可以进行
2_000_000
和2000000
一样 - 但是类型转换
+'230_000
识别不出返回NaN
,parseInt('230_0000')
返回的是230
- JS中安全的最大数是
2 ** 53 - 1
后面的数不确定准确性 - 对于长的数字可以在后面加个n返回bigInt类型,可以正常返回长数字
- bigInt只能和bigInt类型相加,其他类型会报错
- 对于类型转换的判断是可以相等的,也可以数字和bigInt相乘
- 对于数字,可以进行
- 创建Date
- 通过构造函数
new Date()
创建Date
对象,创建直接返回详细日期时间 - 也可以通过
new Date()
格式化的字符串创建指定时间 - 也可以通过数字
new Date(year, month, date, hour, minutes, seconds)
创建指定时间 - 通过
new Date(0)
返回的是1970年1月1日0点0秒的时间 - 通过
new Date(3 * 24 * 60 * 60 * 1000)
返回1970年1月1日三天后的时间 - 通过
new Date().getFullYear()
获取今年的年份 - 通过
new Date().getMonth()
获取今年的月份 - 通过
new Date().getDate()
获取今年的日期 - 通过
new Date().getHours()
获取今天的小时 - 通过
new Date().getMinutes()
获取今天的分钟 - 通过
new Date().getSeconds()
获取今天的秒钟 - 通过
new Date().toISOString()
返回字符串的格式化时间 - 通过
new Date().getTime()
返回距今的时间戳 - 通过
new Date(时间戳)
也可以创建指定的时间 - 通过
Date.now()
返回距今的时间戳 - 也可以通过
new Date().setFullYear()
设置年份,其它同理
- 通过构造函数
- 添加日期到Bankist_App中,详见于代码中
明日计划
- 明天十二点半起床,十三点开始学习JS基础知识
- 学习至下午五点半
- 晚上六点半学习React知识
- 学习至八点半