前言: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 | 类似上面 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。