世界不止0和1 还有...
目录
基本类型
1.类型检测
(1)typeof
typeof 用于返回以下原始类型
基本类型:number/string/boolean
function
object
undefined
可以使用typeof用于判断数据的类型
(2)instanceof
instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。也可以理解为是否为某个对象的实例,typeof不能区分数组,但instanceof则可以。
(3)值类型与对象
下面是使用字面量与对象方法创建字符串,返回的是不同类型。
只有对象才有方法使用,但在
JS
中也可以使用值类型调用方法,因为它会在执行时将值类型转为对象。
2. String
(1)声明定义
使用对象形式创建字符串
字符串使用单、双引号包裹,单、双引号使用结果没有区别。
(2)转义符号
有些字符有双层含义,需要使用 \
转义符号进行含义转换。下例中引号为字符串边界符,如果输出引号时需要使用转义符号。
常用转义符号列表如下
(3)连接运算符
使用 +
可以连接多个内容组合成字符串,经常用于组合输出内容使用。
使用 +=
在字符串上追回字符内容
(4)模板字面量
使用 ` ...` 符号包裹的字符串中可以写入引入变量与表达式
使用表达式
(5)标签模板
标签模板是提取出普通字符串与变量,交由标签函数处理
(6)获取长度
使用length
属性可以获取字符串长度
(7)大小写转换
将字符转换成大写格式
转字符为小写格式
(8)移除空白
使用trim
删除字符串左右的空白字符
(使用trimLeft
删除左边空白,使用trimRight
删除右边空白)
(9)获取单字符
根据从0开始的位置获取字符
使用数字索引获取字符串
(10)截取字符串
使用 slice、substr、substring
函数都可以截取字符串。
slice、substring 第二个参数为截取的结束位置
substr 第二个参数指定获取字符数量
(11)查找字符串
从开始获取字符串位置,检测不到时返回 -1
从结尾来搜索字符串位置
search() 方法用于检索字符串中指定的子字符串,也可以使用正则表达式搜索
includes
字符串中是否包含指定的值,第二个参数指查找开始位置
startsWith
是否是指定位置开始,第二个参数为查找的开始位置。
endsWith
是否是指定位置结束,第二个参数为查找的结束位置。
下面是查找关键词的示例
(12)替换字符串
replace
方法用于字符串的替换操作
(13)重复生成
下例是根据参数重复生成星号
下面是模糊后三位电话号码
(14)类型转换
分隔字母
将字符串转换为数组
隐式类型转换会根据类型自动转换类型
使用 String
构造函数可以显示转换字符串类型
js中大部分类型都是对象,可以使用类方法 toString
转化为字符串
3.Boolean
(1)声明定义
使用对象形式创建布尔类型
但建议使用字面量创建布尔类型
(2)隐式转换
基本上所有类型都可以隐式转换为 Boolean类型。
当与boolean类型比较时,会将两边类型统一为数字1或0。
使用Boolean与数值比较时,会进行隐式类型转换 true转为1,false 转为0。
下面是一个典型的例子,字符串在与Boolean比较时,两边都为转换为 数值类型后再进行比较。
数组的表现与字符串原理一样,会先转换为数值
引用类型的Boolean值为真,如对象和数组
(3)显式转换
使用 !!
转换布尔类型
使用 Boolean
函数可以显式转换为布尔类型
4.Number
(1)声明定义
使用对象方式声明
Number用于表示整数和浮点数,数字是 Number
实例化的对象, 可以使用对象提供的丰富方法。
(2)基本函数
判断是否为整数
指定返回的小数位数可以四舍五入
(3)NaN
表示无效的数值,下例计算将产生NaN结果。
NaN不能使用 ==
比较,使用以下代码来判断结果是否正确
也可以使用 Object.is
方法判断两个值是否完全相同
(4)类型转换
Number
使用Number函数基本上可以转换所有类型
parseInt
提取字符串开始去除空白后的数字转为整数。
parseFloat
转换字符串为浮点数,忽略字符串前面空白字符。
(5)舍入操作
使用 toFixed
可对数值舍入操作,参数指定保存的小数位
(6)浮点精度
大部分编程语言在浮点数计算时都会有精度误差问题, 下面来看JS中的表现形式.。 这是因为计算机以二进制处理数值类型, 上面的0.1与0.2转为二进制后是无穷
处理方式
一种方式使用toFixed 方法进行小数截取
将小数转为整数进行计算后,再转为小数也可以解决精度问题
5.Math
(1)取极限值
使用 min
与 max
可以取得最小与最大值
使用apply
来从数组中取值
(2)舍入处理
取最接近的向上整数
四舍五入处理
(3)random
random
方法用于返回 >=0 且 <1 的随机数(包括0但不包括1)。
返回0~5的随机数,不包括5
返回0~5的随机数,包括5
下面取2~5的随机数(不包括5)公式 :
min+Math.floor(Math.random()* (Max-min))
下面是随机点名的示例
6.Date
(1)声明日期
获取当前日期时间
计算脚本执行时间
使用展示运算符处理更方便
(2)类型转换
将日期转为数值类型就是转为时间戳单位是毫秒
有时后台提供的日期为时间戳格式,例如将时间戳转换为标准日期的方法
(3)对象方法
格式化输出日期
封装函数用于复用
function dateFormat(date, format = "YYYY-MM-DD HH:mm:ss") {
const config = {
YYYY: date.getFullYear(),
MM: date.getMonth() + 1,
DD: date.getDate(),
HH: date.getHours(),
mm: date.getMinutes(),
ss: date.getSeconds()
};
for (const key in config) {
format = format.replace(key, config[key]);
}
return format;
}
console.log(dateFormat(new Date(), "YYYY年MM月DD日"));