记录以下常用的api及方法,不然老是忘记
JSapi
一、Number
| 方法 | 描述 |
|---|---|
| Number.parseFloat() | 将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。 |
| Number.parseInt() | 将字符串转换成整型数字,和全局方法 parseInt() 作用一致。 |
| Number.isFinite() | 判断传递的参数是否为有限数字。 |
| Number.isInteger() | 判断传递的参数是否为整数。 |
| Number.isNaN() | 判断传递的参数是否为 isNaN()。 |
| Number.isSafeInteger() | 判断传递的参数是否为安全整数。 |
二、String
常用属性
| 属性 | 描述 |
|---|---|
| length | 字符串的长度 |
常用方法
| 方法 | 参数 | 返回值 | 描述 | 示例 |
|---|---|---|---|---|
| charAt() | 目标索引:number | 指定位置的字符:string | 查找指定位置的字符 | var str='nihaoya!'; str.charAt(4)==>"o"; |
| charCodeAt() | 目标索引:number | 指定的位置的字符的 Unicode 编码:number | 查找指定的位置的字符的 Unicode 编码。 | str.charCodeAt(4)==>111; |
| fromCharCode() | Unicode 编码:number | 对应字符:string | 将 Unicode 编码转为字符。 | String.fromCharCode(93)==>'[' |
| indexOf() | 1.目标子串:string; 2. (可选)开始查找的索引:number; | 索引值:number或-1(表示不存在) | 查找某个指定的字符串值在字符串中首次出现的位置(从左往右开始找)。 | str.indexOf("y")==>5;str.indexOf("m")==>-1 |
| lastIndexOf() | 从右往左,右一的位置为0 | |||
| repeat() | 复制次数 | 拼好的字符串 | 复制字符串指定次数,并将它们连接在一起返回。 | let str="12"; str.repeat(5)==>"1212121212" |
| replace() | 1.目标子串(旧); 2. 新的子串 | 替换后的结果 | 将指定子串替换为指定子串,只替换从左到右第一个目标子串。 | str.replace('ya','*')==>"nihao*!" |
| replaceAll() | 1.目标子串(旧); 2. 新的子串 | 替换后的结果 | 将指定子串替换为指定子串,替换所有目标子串。 | str.replace('a','*')==>"nih*oy*!" |
| includes() | 目标子串:string | 布尔值 | 查找字符串中是否包含指定的子字符串。 | str.includes("ao")==>true |
| match() | 正则/字符串 | 匹配的字符串,当正则为全局时返回匹配的数组/null | 查找找到一个或多个正则表达式的匹配。 | str.match("ni")==>"ni"; str.match("hello")==>null; let str="1nunsifj2hefb4iiuh5" ; str.match(/\d+/g)==>["1","2","4","5"] |
| search() | 正则/字符串 | 匹配的索引位置/ -1 | 查找与正则表达式相匹配的值。 | |
| concat() | 要拼的字符串str1,…,strn | 拼好的字符串:number | 拼接多个字符串 | str.concat('Hello!','World!')==>'Hello!World!'; |
| split() | 分割符子串 | 分割后的数组 | 把字符串分割为数组。 | str.split("a")==>["nih","oy","!"]; str.split("")==>["n","i","h","a","o","y","a","!"] |
| startsWith() | 目标开头子串:string | true/false : boolean | 查看字符串是否以指定的子字符串开头。 | |
| endsWith() | 目标结尾子串:string | true/false:boolean | 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。 | str.endsWith("a!")==>true |
| toLowerCase() | 无 | 转化结果 | 把字符串转换为小写。 | |
| toUpperCase() | 无 | 转化结果 | 把字符串转换为大写。 | str.toUpperCase()==>"NIHAOYA!" |
| trim() | 无 | 结果 | 去除字符串两边的空白。 | |
| substr() | 1.开始索引;2. 获取的字符个数。 | 提取的值 | 从起始索引号提取字符串中指定数目的字符。 | |
| slice() | 1.开始索引; 2.结束索引(可省) | 截取部分 | 截取字符串 | |
| substring() | 1.开始索引;2. 结束索引(可省),默认到字符串末尾 | 提取的值(取前不取后) | 提取字符串中两个指定的索引号之间的字符。 | |
| toString() | 无 | 转化的字符串 | 返回一个字符串。 | let num=123; num.toString()==>"123" |

- slice与substring的区别:
slice可以支持索引负数值,正数值从左到右定位字符,如:0是第一个字符,1是第二个字符;负数值,从右到左定位字符,如:-1表示最后一个字符,-2表示倒数第二个字符
三、Date
获取时间对象
new Date()不传参数,表示获取当前时间对象new Date("2020-12-17")传入时间格式,表示获取指定日期的时间对象
| 时间格式 | 示例 |
|---|---|
| new Date(“month dd,yyyy hh:mm:ss”); | new Date(“Jun 2,2017 12:00:00”); //Fri Jun 02 2017 12:00:00 GMT+0800 (中国标准时间) |
| new Date(“month dd,yyyy”); | new Date(“Jun 2,2017”); //Fri Jun 02 2017 00:00:00 GMT+0800 (中国标准时间) |
| new Date(“yyyy-mth-dd”); new Date(“yyyy-mth-dd hh:mm:ss”); | new Date(“2017-05-02 12:0:0”); //Fri Jun 02 2017 12:00:00 GMT+0800 (中国标准时间) 日期月份的0可加可不加 |
| new Date(“yyyy/mth/dd”); new Date(“yyyy/mth/dd hh:mm:ss”); | new Date(“2017/5/2 12:0:0”); //Fri Jun 02 2017 12:00:00 GMT+0800 (中国标准时间) 日期月份的0可加可不加 |
| new Date(yyyy,mth,dd,hh,mm,ss); 注意:这种方式下,必须传递整型; | new Date(2017,5,2,12,0,0); //Fri Jun 02 2017 12:00:00 GMT+0800 (中国标准时间) |
| new Date(yyyy,mth,dd); | new Date(2017,5,2); //Fri Jun 02 2017 00:00:00 GMT+0800 (中国标准时间) |
| new Date(ms); | new Date(1496376000000); //Fri Jun 02 2017 12:00:00 GMT+0800 (中国标准时间) |
方法
| 获取 | 设置 | 备注 |
|---|---|---|
| getFullYear() | set… | 年 |
| getMonth() | 月([0-11]分别对应[1-12]月 | |
| getDate() | 日 | |
| getHours() | 时 | |
| getMinutes() | 分 | |
| getSeconds() | 秒 | |
| getMilliseconds() | 毫秒 | |
| getDay() | 星期几([0-6]分别对应[天-六] | |
| getTime() | 时间戳 | |
| toLocaleDateString() | 获取日期 // 2023/5/11 | |
| toLocaleTimeString() | 获取时间 // 12:00:00 | |
| toLocaleString() | 获取日期与时间 // 2023/5/11 12:00:00 |
四、Array
属性
length
方法
| 方法 | 参数 | 返回值 | 描述 |
|---|---|---|---|
| unshift() | 一个或多个元素 | length | 添加首(可添加多个,以逗号隔开)。 |
| shift() | 无 | 删除值 | 删除首(一个)。 |
| push() | 一个或多个元素 | length | 末尾添加(可多个) |
| pop() | 无 | 删除值 | 删除数组的最后一个元素并返回删除的元素。 |
| splice() | 1.要增删的起始索引;2. 删除数量;3.要添加的一个或多个元素(可选) | 删除的元素数组 | 从数组中添加或删除元素。 |
| join() | 连接符(可选,默认以","拼接) | 字符串 | 将元素通过指定字符拼接为字符串 |
| concat() | 要合并的数组(arr1,…,arr2) | 合并结果arr | 数组合并 |
| slice() | 1.开始索引;2. 结束索引 | 截取结果arr | 截取数组 |
| indexOf() | 1.元素;2.开始位置(可选) | 索引值/ -1 | 搜索数组中的元素,并返回它所在的位置。 |
| lastIndexOf() | 搜索数组中的元素,并返回它最后出现的位置。 | ||
| reverse() | 无 | 反转后的结果(原数组发生变化) | 反转数组的元素顺序。 |
| includes() | 1.元素;2.开始位置(可选) | 布尔值 | 用于检查数组中是否包含指定元素(是否存在指定元素)。。 |
| toString() | 无 | 字符串 | 把数组转换为字符串,元素间以,链接 |
| 数组遍历方法 | |||
| forEach() | callback(element,index,arr) | 无 | 数组每个元素都执行一次回调函数。 |
| map() | callback(element,index,arr) | 新数组 | 通过指定函数处理数组的每个元素,并返回处理后的数组。 |
| filter() | callback(element,index,arr) | 过滤后的数组 | 检测数值元素,并返回符合条件所有元素的数组。 |
| find() | callback(element,index,arr) | 符合条件的第一个元素 | 返回符合传入测试(函数)条件的数组元素。 |
| findIndex() | callback(element,index,arr) | 符合条件的第一个元素的索引 | 返回符合传入测试(函数)条件的数组元素索引。 |
| every() | callback(element,index,arr) | 布尔值 | 每个元素是否都符合条件。 |
| some() | callback(element,index,arr) | 布尔值 | 是否有元素符合指定条件。 |
| reduce() | 1.callback(re,element,index,arr);2.首次re的实参 | 最后一次回调的返回值 | 将数组元素计算为一个值(从左到右)。arr=[1,2,3,4]; arr.reduce((sum,ele)=>sum+ele,0)==>0+1+2+3+4 |
| sort() | callback(ele1,ele2) | 排序后的当前数组 | 排序。(升序ele1-ele2;降序ele2-ele1); arr.sort((ele1,ele2)=>ele1-ele2)==>排序后的数组 |
| flat() | 递归的深度number,未知是Infinity表示最深 | 一维数组 | 递归遍历数组,数组扁平化;arr=[1,2,[3,[4,5,6]],7]; arr.flat(Infinity)==>[1,2,3,4,5,6,7] |
| entries() | 无 | 数组的iterator对象 | 返回数组的可迭代对象。可通过for of对该对象进行遍历,key为索引值,value为元素;for(obj of arr.entries()){console.log(obj)}==>[0,元素1]...[n-1,元素n] |
| Array.isArray() | 要判断的对象 | 布尔值 | 判断对象是否为数组。 |
| Array.from() | 要转化成数组的对象(包括字符串。数字、set数据) | 转化后的数组 | 通过给定的对象中创建一个数组。Array.from(str)==>["h","e","l","l","o"] |
五、Math
常用方法
| 方法 | 说明 | 示例 |
|---|---|---|
| max() | 获取指定一个或多个数字中的最大值。 | Math.max(44,12,25,71,35,19,32)==>71 |
| min() | 获取指定一个或多个数字中的最小值。 | Math.max(44,12,25,71,35,19,32)==>12 |
| round() | 获取指定数的四舍五入结果 | Math.round(5.499999)==>5 |
| ceil() | 获取指定数向上取整结果(>=指定数)。 | Math.ceil(4.000001)==>5 |
| floor() | 获取指定数向下取整结果(<=指定数)。 | Math.floor(4.000001)==>4 |
| sqrt() | 平方根 | Math.sqrt(16)==>4 |
| pow() | 计算m的n次方 | Math.pow(2,3)==>2的3次方=8 |
| random() | 生成一个[0,1)随机小数 | Math.random() |
随机生成Min-Max范围的整数
- [min,max): Math.floor(Math.random()*(max-min))+min
- 0-100,不包含100===>Math.floor(Math.random()*100)
- 【min,max】: Math.ceil(Math.random()*(max-min))+min
- 50-100,包含100===>Math.floor(Math.random()*(100-50)+50)
六、正则表达式
生成一个正则
-
let 变量名称=/正则表达式/模式(可省)let regexp=/^1[3-9]\d{9}$/; -
var 变量名称=new RegExp('正则表达式','模式(可省)')var regexp=new RegExp('^1[3-9]\d{9}$');
模式
u:只匹配第一个子串结果。默认模式。g:全局匹配模式,匹配所有子串。i:忽略大小写模式。
语法
| 类别 | 写法 | 说明 | 示例 |
|---|---|---|---|
| 字符类 | . | 匹配任意一个字符 | a、0等 |
| [] | 匹配中括号中任意一个字符 | [abc]表示取a或b或c中任意一个字符等 | |
| - | 在中括号中使用-,表示字符范围 | [0-9a-zA-Z]表示取数字、字母中任意一个字符 | |
| ^ | 在中括号中使用^,表示中括号中字符取反 | [^a-z]表示取除小写字母以外的任意一个字符 | |
| 数量限定符 | ? | ?前一位字符出现0次或1次 | ab?表示b出现0次或1次 |
| + | +前一位字符出现1次以上 | ab+表示b出现1次或多次 | |
| * | *前一位字符出现任意次 | ab*表示b出现任意次 | |
| {N} | {N}前一位字符出现N次 | ab{3}表示b出现3次。 | |
| {N,} | 至少N次 | ab{2,}表示b至少出现2次 | |
| {N,M} | N-M次 | ab{2,3}表示b至少出现2次,且至多3次 | |
| 位置限定符 | ^ | 以。。开头 | ^ab表示以ab作为字符串开头字符 |
| $ | 以。。结尾 | ^1[3-9][0-9]{9}$表示以1开头、第二位为3~9中任意一个字符,后续跟9位数字的字符串内容(11位手机号规则) | |
| 预定义符号 | \w | 数字、字母、下划线中任意一个字符 | 等价于[0-9a-zA-Z_] |
| \W | 除了数字、字母、下划线符号以外的任意一个字符 | 等价于[^0-9a-zA-Z_]。 | |
| \d | 任意一个数字字符 | 等价于[0-9] | |
| \D | 除了数字字符以外的任意一个字符 | 等价于[^0-9] | |
| \s | 匹配任意一个空白字符(空格和换行) | ||
| \S | 匹配任意一个非空白字符(不是空格和换行) | ||
| 特殊符号 | | | 表示或者 | |
| \ | 转义符,将右边的字符进行转义,如果右边的字符具备特殊的意义(有正则意义),则转义后,取字符本身的意义(作为普通字符处理)。 | ||
| () | 将小括号中内容作为一个单元进行处理(作为一个整体) | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j2331qrt-1685674791052)(C:\Users\yangyun\Desktop\微信截图_20230524151353.png)] |
常用函数
| 方法 | 参数 | 返回值 | 示例 |
|---|---|---|---|
| test() | 要验证的内容 | 布尔值 | let regexp=/^1[3-9]\d{9}$/ ; regexp.test("13212345678")==>true |
String中正则表达式相关常用函数
-
match()-
用于检查当前字符串中与指定正则表达式匹配的值。
-
参数
- 目标正则表达式。
-
返回值
- 存储了查找到的目标字符子串结果的数组。
var reg=/[a-z]+/ig; var str='213213sdsaASD21321sadsadAA21321QQQsdgds3242'; var re=str.match(reg);//["sdsaASD","sadsadAA","QQQsdgds"]
-
-
replace()-
将当前字符串中与指定正则表达式匹配的子串内容替换为指定字符串内容。
-
参数
- 目标正则表达式。
-
返回值
- 替换后的字符串结果内容。
var reg=/[a-z]+/ig; var str='213213sdsaASD21321sadsadAA21321QQQsdgds3242'; var re=str.replace(reg,'*');//"213213*21321*21321*3242"
-
-
split()-
将当前字符串中与指定正则表达式匹配的子串作为分割符进行分割,形成子串数组。
-
参数
- 目标正则表达式。
-
返回值
- 分割后的子串数组。
-
本文详细列举了JavaScript中Number、String、Date和Array等核心对象的常用方法,包括转换、判断、操作和遍历等功能,还介绍了正则表达式的创建和常用函数,是开发者日常编码的实用参考。
235

被折叠的 条评论
为什么被折叠?



