前端计划——JavaScript的Math、数组和字符串方法总结

本文总结了JavaScript中的核心函数,包括Math、数组及字符串等常用函数的语法和作用,便于开发者快速查阅。

前言:JavaScript内提供了丰富的内建函数,本文总结了一份表格,方便快速查找,
个人总结,不是很严谨,如有错误,还望指正。

如果想查阅各函数详细的使用说明,建议使用官方文档。
https://developer.mozilla.org...

1、Math函数

方法作用语法说明
abs(x)返回绝对值Math.abs(x)x 不是数字返回 NaN,如果 x 为 null 返回 0
acos(x)返回反余弦值Math.acos(x)x是-1到1之间的数,返回0到PI之间的弧度值,x超出范围返回NaN
asin(x)返回反正弦值Math.asin(x)x属于-1到1,返回-PI/2到PI/2
atan(x)返回反正切值Math.atan(x)返回的值是 -PI/2 到 PI/2 之间的弧度值
atan2(y,x)返回坐标(y,x)到x轴之间夹角度数Math.atan2(y,x)返回的值是 -PI/2 到 PI/2 之间的弧度值
sin(x)求正弦值Math.sin(x)x为弧度值,将角度乘以 0.017453293 (2PI/360)即可转换为弧度
cos(x)求余弦值Math.cos(x)同上
tan(x)求正切值Math.tan(x)同上
ceil(x)向上取整Math.ceil(x)
floor(x)向下取整Math.floor(x)
round(x)四舍五入取整Math.round(x)
exp(x)返回E^xMath.exp(x)
pow(x,y)返回 x^yMath.pow(x,y)
log(x)返回ln(x)Math.log(x)如果 x 为负数,返回 NaN。x 为0,返回 -Infinity
sqrt(x)返回x的平方根Math.sqrt(x)如果 x 小于 0,则返回 NaN
random()返回介于 0(包含) ~ 1(不包含) 之间的一个随机数Math.random()
min(x)返回一组数的最小值Math.min(x,y,...z)
max(x)返回一组数的最大值Math.max(x,y,,...z)
--以下为ES6新增----
trunc(x)返回一个数的整数部分Math.trunc(x)对于空值和无法截取整数的值,返回NaN
sign(x)判断一个数是正数、负数、0Math.trunc(x)参数为正数,返回+1;负数返回-1;0返回0;-0返回-0;其他返回NaN。
cbrt(x)求立方根Math.cbrt(x)
clz32(x)求多少个前置0Math.clz32(x)32位无符号整数有多少前置0,小数只看整数部分
imul(x,y)返回以两个32位带符号整数相乘结果Math.imul(x,y)
fround(x)返回一个数的单精度浮点数结果Math.fround(x)
hypot(x1,x2,...)返回多个数的平方和的平方根Math.hypot(x1,x2,...xn)有一个参数无法转换就返回NaN
expm1(x)返回e^x - 1Math.expm1(x)相当于Math.exp(x) - 1
log1p(x)返回log(x+1)Math.log1p(x)相当于Math.log(x+1)
log10(x)返回log10(x)Math.log10(x)相当于Math.log(x)/Math.LN10,x小于0返回NaN
log2(x)返回log2(x)Math.log2(x)相当于Math.log(x)/Math.LN2,x小于0返回NaN
sinh(x)双曲正弦函数Math.sinh(x)
cosh(x)双曲余弦函数Math.cosh(x)
tanh(x)双曲正切函数Math.tanh(x)
asinh(x)反双曲正弦函数Math.asinh(x)
acosh(x)反双曲余弦函数Math.acosh(x)
atanh(x)反双曲正切函数Math.atanh(x)
signbit(x)是否设置了符号位Math.signbit()设置了返回true,否则为false
x**y指数运算符x**y用于简化Math.pow(x,y),对于特别大的运算,在V8下两者结果可能不同

2、数组函数

函数名作用语法返回值说明
concat合并数组arr1.concat(arr2,arr3...)Array一个新数组
join拼接数组arr.join('separator')String
push末尾添加元素arr.push(item1,item2...)Number返回新长度
pop末尾弹出元素arr.pop()item类型
unshift开头添加元素arr.unshift(item1, item2...)Number新长度
shift移出开头元素arr.shift()item类型
reverse反转数组顺序arr.reverse()Array
sort数组排序arr.sort(sortFunction)Array升序函数(function(a,b) {return a-b})
slice截取数组arr.slice(start, end)Array不含end。end为空,代表到最后
splice添加/删除元素arr.splice(index, howmany, item1, item2...)Arrayindex是起始位置,howmany是删除数量,为0的话就是添加
indexOf返回元素首次出现位置arr.indexOf(item, start)Numberstart可省略,代表从头开始检索。未找到返回-1
lastIndexOf返回最后出现位置arr.lastIndexOf(item, start)Number同上
map返回一个新数组,调用指定函数返回结果arr.map(function(currentValue,index,arr), thisValue)ArraythisValue可选。"
reduce递归计算(从左至右)arr.reduce(function(total, currentValue, currentIndex, arr), initialValue)total类型
reduceRight递归计算(从右至左)arr.reduceRight(function(total, currentValue, currentIndex, arr), initialValue)total类型
forEach每个元素都执行回调函数arr.forEach(function(currentValue, index, arr), thisValue)回调类型
every用于检测每个元素arr.every(function(currentValue,index,arr), thisValue)Boolean一个不满足,返回false,不再检测。全部通过返回true
filter筛选满足条件的形成新数组arr.filter(function(currentValue,index,arr), thisValue)Array
valueOf返回 Array 对象的原始值arr.valueOf()Array一般是后台调用
--以下为ES6新增------
Array.from()将类数组转换为数组Array.from(arrayLike,func)Array一般用于set、map,以及DOM节点集合,func是类map函数
Array.of()将一组参数转换为数组Array.of(1,2,3...)Array
find返回符合条件的第一个元素arr.find(function(currentValue,index,arr), thisValue)item类型检测第一个返回后停止,都没有返回undefined
findIndex返回符合条件的第一个元素的位置arr.findIndex(function(currentValue, index, arr), thisValueNumber找不到返回-1
fill用于替换数组内容arr.fill(value, start, end)Array不含end
copyWithin用于复制数组内容arr.copyWithin(target, start, end)Array不含end
entries返回数组的键值对arr.entries()遍历器对象多用于for...of...遍历
keys返回数组的键名arr.keys()同上同上
values返回数组的键值arr.values()同上同上
includes判断是否包含某元素arr.includes(item, start)Booleanstart默认为0,即起始位置

3、字符串函数

函数名作用语法返回值说明
charAt返回指定位置字符string.charAt(index)Stringindex为下标值,找不到返回""
charCodeAt返回指定位置字符对应的Unicode编码string.charCodeAt(index)Number同时,找不到返回NaN
concat连接字符串string.concat(string1, string2, ..., stringX)String返回的是新字符串
indexOf返回某字符串首次出现位置string.indexOf(searchvalue,start)Numberstart可选,缺省从头开始。区分大小写,找不到返回-1
lastIndexOf返回某字符串末次出现位置string.lastIndexOf(searchvalue,start)Number同上。
match返回匹配的字符数组string.match(regexp)Array依赖于regexp是否含g,找不到返回null。
replace替换指定字符串string.replace(searchvalue,newvalue)String不改变原字符串,返回新字符串
search查找指定字符串string.search(searchvalue)Number返回匹配的子串其实位置,找不到返回-1
slice返回提取的字符串string.slice(start,end)String返回新字符串,end可省略。不含end。
split切割字符串为数组string.split(separator,limit)Array两个参数均可选,limit代表返回的最大长度
substr提取字符串string.substr(start,length)Stringlength可省略,不改变原字符串
subString提取字符串string.substring(from, to)String双参均为非负整数。to可省略。不含to
toLowerCase转换为小写string.toLowerCase()String不改变原字符串
toUpperCase转换为小写string.toUpperCase()String不改变原字符串
fromCharCodeUnicode编码转成字符string.fromCharCode(n1, n2, ..., nX)String支持多个参数连成字符串
valueOf返回String对象值string.valueOf()String一般由后台调用,不显式引用
trim去除首位的空白字符string.trim()String
--以下为ES6新增------
codePointAt类似charCodeAtstring.codePointAt(index)Number提供了对于大于uFFFF的字符的处理
fromCodePoint类似fromCharCodestring.fromCodePoint(n)String同上
at类似CharAtstring.at(index)String同上
normalizeUnicode正规化'u01D1'.normalize()String
includes查找是否有指定字符串string.includes('str',n)Boolean表示是否找到指定字符串,n可省略,代表起始位置
startsWith同上string.startsWith('str', n)Boolean同上
endsWith同上string.endsWith('str', n)Booleann表示前n个字符
repeat重复字符串string.repeat(n)Stringn必须大于-1,小数会取整,-1到0转换为0,小于-1或者Infinity报错
padStart头部补全string.padStart(length, 'str')String第一个参数为最小长度,第二个为填充的字符串,第二个参数省略用空格填补,超出会自动截取
padStart尾部补全string.padStart(length, 'str')String类似上面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值