42

前言: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^x Math.exp(x)
pow(x,y) 返回 x^y Math.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) 判断一个数是正数、负数、0 Math.trunc(x) 参数为正数,返回+1;负数返回-1;0返回0;-0返回-0;其他返回NaN。
cbrt(x) 求立方根 Math.cbrt(x)
clz32(x) 求多少个前置0 Math.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 - 1 Math.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...) Array index是起始位置,howmany是删除数量,为0的话就是添加
indexOf 返回元素首次出现位置 arr.indexOf(item, start) Number start可省略,代表从头开始检索。未找到返回-1
lastIndexOf 返回最后出现位置 arr.lastIndexOf(item, start) Number 同上
map 返回一个新数组,调用指定函数返回结果 arr.map(function(currentValue,index,arr), thisValue) Array thisValue可选。"
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), thisValue Number 找不到返回-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) Boolean start默认为0,即起始位置

3、字符串函数

函数名 作用 语法 返回值 说明
charAt 返回指定位置字符 string.charAt(index) String index为下标值,找不到返回""
charCodeAt 返回指定位置字符对应的Unicode编码 string.charCodeAt(index) Number 同时,找不到返回NaN
concat 连接字符串 string.concat(string1, string2, ..., stringX) String 返回的是新字符串
indexOf 返回某字符串首次出现位置 string.indexOf(searchvalue,start) Number start可选,缺省从头开始。区分大小写,找不到返回-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) String length可省略,不改变原字符串
subString 提取字符串 string.substring(from, to) String 双参均为非负整数。to可省略。不含to
toLowerCase 转换为小写 string.toLowerCase() String 不改变原字符串
toUpperCase 转换为小写 string.toUpperCase() String 不改变原字符串
fromCharCode Unicode编码转成字符 string.fromCharCode(n1, n2, ..., nX) String 支持多个参数连成字符串
valueOf 返回String对象值 string.valueOf() String 一般由后台调用,不显式引用
trim 去除首位的空白字符 string.trim() String
-- 以下为ES6新增 -- -- --
codePointAt 类似charCodeAt string.codePointAt(index) Number 提供了对于大于uFFFF的字符的处理
fromCodePoint 类似fromCharCode string.fromCodePoint(n) String 同上
at 类似CharAt string.at(index) String 同上
normalize Unicode正规化 'u01D1'.normalize() String
includes 查找是否有指定字符串 string.includes('str',n) Boolean 表示是否找到指定字符串,n可省略,代表起始位置
startsWith 同上 string.startsWith('str', n) Boolean 同上
endsWith 同上 string.endsWith('str', n) Boolean n表示前n个字符
repeat 重复字符串 string.repeat(n) String n必须大于-1,小数会取整,-1到0转换为0,小于-1或者Infinity报错
padStart 头部补全 string.padStart(length, 'str') String 第一个参数为最小长度,第二个为填充的字符串,第二个参数省略用空格填补,超出会自动截取
padStart 尾部补全 string.padStart(length, 'str') String 类似上面

Alarak
246 声望21 粉丝