js原生对象上的方法记录

本文详细列举了JavaScript中Number、String、Date和Array等核心对象的常用方法,包括转换、判断、操作和遍历等功能,还介绍了正则表达式的创建和常用函数,是开发者日常编码的实用参考。

记录以下常用的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()目标开头子串:stringtrue/false : boolean查看字符串是否以指定的子字符串开头。
endsWith()目标结尾子串:stringtrue/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"

img

  • 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:忽略大小写模式。

语法

类别写法说明示例
字符类.匹配任意一个字符a0
[]匹配中括号中任意一个字符[abc]表示取abc中任意一个字符等
-在中括号中使用-,表示字符范围[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()

    • 将当前字符串中与指定正则表达式匹配的子串作为分割符进行分割,形成子串数组。

    • 参数

      • 目标正则表达式。
    • 返回值

      • 分割后的子串数组。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值