一·Array对象
- 数组对象有一些我们常用的属性或方法
1.属性
1.length:数组的长度,用来表示数组的个数
2.constructor:保存构造函数
2.方法
- arr.push(元素)
1.往数组的末尾添加一个或多个元素
2.返回值是修改后的数组长度
3.会修改原数组
- arr.unshift(元素)
1.往数组得开头添加一个或多个元素
2.返回值是修改后的数组长度
3.会修改原数组
- arr.pop(元素)
1.从数组的末尾删除一个元素
2.返回值是被删除的元素
3.会修改原数组(只能删除一个)
- arr.shift(元素)
1.从数组的开头删除一个元素
2.返回值是被删除的元素
3.会修改原数组(只能删除一个)
- arr.splice(起始下标,删除的长度,添加的元素(任意类型))
1.不会对原数组造成影响
2.返回值是被删除的元素组成的数组
3.添加可以将删除的长度为0,写上添加的元素
- arr.join(分隔符)
1.可以将数组转为用分隔符隔开的字符串
2.对原数组没有影响
3.返回值是一个字符串
- arr.slice(起始下标,结束下标)
1.用于数组的截取,截取内容包含起始下标,不包含结束下标
2.返回值是截取的数组
3.对原数组没有影响
4.参数可以是负数,表示从倒数第几个开始,到倒数第几个结束
5.如果只有一个起始下标,那么从起始下标开始到最后都会被截取
- arr.concat()
1.用于多个数组的拼接
2.参数可以是一个或多个数组
3.返回值是拼接后的新数组
4.不会对原数组造成影响
- arr.indexOf()
1.查找一个元素在数组中第一次出现的位置
2.返回值是元素对应的下标,如果这个元素不存在返回-1
- arr.lastIndexOf()
1.倒序查找一个元素在数组中第一次出现的位置
- arr.sort()
1.用于数组排序,如果没有参数,默认按照元素的字符编码排序
2.如果有参数,参数必须是函数(回调函数),函数有两个参数a,b(a-b表示数组升序)
3.返回值是排序之后的数组
4.会修改元素
- arr.foreach()
1.用于数组的遍历,参数是一个回调函数,回掉函数有两个
2.没有返回值,默认为undefined
- arr.filter()
1.用于数组过滤,按照回调函数的条件进行过滤筛选
2.参数是回调函数,回调函数的参数有两个,第一个表示数组元素,第二表示元素下标(回调函数必须有返回值,返回一个筛选条件)
- arr.map()
1.数组映射,按照回调函数的结果将数组元素放大或缩小
2.参数是回调函数,回调函数的参数有两个,第一个表示数组元素,第二表示元素下标(回调函数必须有返回值,返回一个映射条件)
- arr.some()
1.判断数组是否存在满足条件的元素,存在返回true,不存在返回false
2.参数是回调函数,回掉函数有两个,第一个表示数组元素,第二个表示数组元素下标(回调函数必须有返回值,返回一个判断条件)
- arr.every()
- 判断数组每一个元素是否都满足条件,全部满足返回true,有一个不满足返回false
2.参数是回调函数,回掉函数有两个,第一个表示数组元素,第二个表示数组元素下标(回调函数必须有返回值,返回一个判断条件)
- arr.reveres()
1.数组倒序
- arr.includes()
1.判断某一个数据是否存在于数组中,存在返回true,不存在返回false
2.可以有两个参数,第一个表示被检索的元素,第二个是检索开始的位置
二·String对象
- 字符串:使用单或者双引号包裹起来的内容就是一个字符串
- 单双引号可以互相嵌套,但不能交叉使用,单引号不能嵌套但应好,双引号不能嵌套双引号
1.属性
length:表示字符串的长度
2.方法
- str.charAt(index)
1.返回字符串中下标所对应的字符
2.参数是下标(数字)
3.返回值是对应的字符
4.不会影响原字符串
- str.charCodeAt(index)
1.返回字符串中下标所对应的字符的ASCII编码
2.参数是下标
3.返回值是对应字符的ASCII编码
4.不会影响原字符串
- String.fromCharCode(ASCII)
1.返回ASCII编码对应的字符,一般用于字符与数字之间的转换
2.参数是ASCII编码
3.返回值是编码对应的字符
- str.indexOf()
1.返回字符在字符串中第一次出现的位置(从左往右)
2.参数是需要寻找的字符
3.返回值是对应的下标 如果不存在返回-1
- str.lastindexOf()
1.返回字符在字符串中第一出现的位置(从后往前)
2.参数是需要寻找的字符
3.返回值是对应的下标
4.如果不存在返回-1
- str.replace(替换的字符,替换后的字符)
1.将匹配到的字符进行替换
2.参数1.被替换的内容
3.参数2.替换后的内容
4.replace支持正则匹配
- str.slice()
1.截取对应的字符
2.参数1:截取开始的位置
3.参数2:截取结束的位置
4.截取的内容包括开始位置,不包括结束位置
5.支持负数
- str.substring()
1.截取对应的字符
2.参数1.截取开始的位置
3.参数2.截取结束的位置
4.截取的内容包括开始位置,不包括结束位置
5.不支持负数
- str.substr()
1根据截取的字符长度进行截取
2.参数1.截取开始的位置
3.参数2.截取的字符长度
- str.split()
1.根据给定字符将字符串分隔成一个数组
2.参数是分隔符
3.返回值是一个分隔后的字符组成的数组,被用作分隔符的字符串不会出现在数组中
- str.toLowerCase()
1.将字符串中的字符转为小写
- str.toUpperCase()
1.将字符串中的字符转为大写
- str.tirm()
1.去除字符串前后空格
- str.match()
1.检索指定的字符串,并将它放在一个数组中
2.参数:被检索的字符串
3.返回值:数组
4.支持正则查找
- str.concat()
1.用于连接一个或多个字符串
2.参数:被连接的字符串
3.返回值:连接之后的新字符串
4.对原字符串没有影响
- str.padstart() , str.padEnd()
1.在字符串的开头或结尾添加字符到给定的字符串长度
2.参数1:新字符串的目标长度,如果目标长度小于或等于字符串的长度,那么返回字符串本身不会添加字符
3.参数2:要添加的字符,如果参数2为空,默认使用空格添加
4.返回值添加后的字符串
对象与字符串之间的转化
- JSON.stringfy(对象)=> 将对象转为一个字符串
- JSON.parse(字符串)=> 将字符串转为一个对象
- 用处:可以进行深拷贝
三·Math对象
- 数学对象可以帮助我们进行一些数学运算,执行常见的算术运算
1.属性
属性 | 作用 |
---|---|
PI | 圆周率 |
E | 常数e,自然对数的底数 |
LN2 | 2的自然对数,以e为底2的对数 |
LN10 | 10的自然对数,以e为底10的对数 |
LOG2E | 以2为底e的对数 |
LOG10E | 以10为底e的对数 |
SQRT2 | 2的平方根 |
SQRT1_2 | 1/2的平方根 |
2.方法
方法名 | 作用 |
---|---|
Math.round() | 四舍五入 |
Math.ceil() | 向上取整 |
Math.floor() | 向下取整 |
Math.random() | 取0-1之间的随机数 |
Math.pow(x,y) | 求x的y次幂 |
Math.max() | 求最大值 |
Math.min() | 求最小值 |
numObject.ToFixed | 可把Number四舍五入为指定小数位数的数字 |
- 获取x-y之间的随机数
Math.random()*(y-x)+x - 获取x-y之间的随机整数
Math.floor(Math.random()*(y-x)+x)
四、Date(时间对象)
- 保存从1970.1.1到今天所经过的时间(毫秒数)
1.方法
方法 | 作用 |
---|---|
getDate() | 返回月份中的某一天 |
getDay() | 返回星期中的某一天 |
getMonth() | 返回月份,是0~11 |
getFullYear() | 以四位数字返回年份 |
getHours() | 返回小时 |
getMinutes() | 返回分钟 |
getSeconds() | 返回秒 |
getMilliseconds() | 返回毫秒 |
getTime() | 返回从1970.1.1到现在经历过的毫秒数 |
2.设置时间
- 在实例化Date对象过程中传入相应参数设置时间
1.new Date(123456)
2.new Date(‘December 17, 1996 03:24:00’)传入一段标准的表示时间的字符串
3.new Date(‘1995-12-17T03:24:00’)
4.new Date(1996, 2, 7)
5.new Date(1996, 5, 24, 0, 0, 0)将年月日时分秒按顺序传参
五、Object对象
1.内置顶层对象
- 由js内置好的对象,可以直接使用,不需要实例化
1.Math对象
2.本地对象
- 需要实例化之后才能使用
1.Object
2.Array
3.String
4.正则对象
5.Function
1.Object对象的方法
方法 | 作用 |
---|---|
Object.assign(obj1,obj2,obj3) | 用于对象的拼接,将多个对象拼接在一起。将obj2,obj3拼接在obj1上 |
Object.is() | 用于两个数据是否相等。与===类似,但是有一点区别 |
Obj.prototype.isprototypeOf(obj1) | 判断一个对象是否存在于另一个对象的原型链中 |
Object.defineproperty(obj, prop, desciriptor) | 给对象添加一个新的属性,或者修改对象的一个属性 |
Object.defineproperties(obj, props) | 给对象添加或修改多个属性,方法 |
Object.freeze(obj) | 防止对象被修改 |
2.对象的遍历
名字 | 作用 |
---|---|
for…in | |
object.keys(ogj) | 返回一个数组,包含对象obj所有的可枚举的键名(属性名) |
object.values() | 返回一个数组,包含对象obj所有的可枚举属性的键值(属性值) |
Object.getOwnPropertyNames(obj) | 返回一个数组,包含除了symbol外的所有属性 |
Reflect.ownKeys(obj) | 返回一个数组包含对象自身所有的属性 |
五、正则对象(RegExp)
- 正则表达式
作用:
1.正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
2.执行字符串函数无法完成的特殊的匹配、拆分、替换功能
3.数据验证、文本替换、内容检索、过滤内容
一.正则对象的创建
1.new RegExp(正则表达式,模式修正符)
- 模式修正符
名称 | 作用 |
---|---|
i | 执行对大小写不敏感的匹配 |
g | 执行全局匹配 |
m | 执行多行匹配 |
2.字面量方式创建正则表达式
let reg = /正则表达式/模式修正符
二、正则对象方法
名称 | 作用 |
---|---|
reg.test(str) | 判断字符串是否符合正则匹配 |
reg.exec(str) | 查询字符串中,符合正则匹配的内容,返回值是数组,如果没有返回null |
reg.comppile(正则表达式[,flag]) | 在脚本执行过程中编译正则表达式,也可用于修改或重新编译正则表达式 |
三、原子、量词、边界
- 原子
是正则表达式最小的组成部分,包括英文,标点符号等。
原子 | 作用 |
---|---|
\d | 匹配0-9的一个数字,等价于[0-9] |
\D | 匹配除0-9以外的字符,等价于[^0-9] |
\w | 匹配数字、字母、下划线 |
\W | 匹配除数字、字母、下划线以外的字符 |
\s | 匹配空格 |
\S | 匹配非空格 |
. | 查找单个字符,除了换行和行结束符 |
\n | 查找换行符 |
\f | 匹配换页字符 |
\r | 回车字符 |
\t | 制表符 |
\a | 垂直制表符 |
原子表 | 作用 |
---|---|
[] | 只匹配其中的一个原子 |
[^] | 只匹配除了其中字符的任意一个原子 |
[0-9] | 匹配0-9之间的任意一个字符 |
[a-z] | 匹配a-z之间的任意一个字母 |
[A-Z] | 匹配大写的A-Z之间的任意一个字符 |
量词 | 作用 |
---|---|
{n} | 表示前面的原子重复n次 |
{n,} | 表示前面的原子重复n次或n次以上 |
{n,m} | 表示重复n到m次 |
* | 表示前面的一个原子重复0到无数次 |
+ | 表示前面的一个原子重复1到无数次 |
?=n | 匹配任何其后紧跟字符串n的字符串 |
?!n | 匹配任何其后不紧跟字符串n的字符串 |
符号 | 含义 |
---|---|
^ | 从字符串的开头开始匹配 |
$ | 匹配到字符串的末尾 |
\b | 匹配单词边界 |
\B | 匹配非单词边界 |
丨 | 符号两侧符合一个就可以,和逻辑或类似 |
- 我的其他的文章还有对上面的补充