跳到主要内容

js 内置函数

js 中预先定义了大量用于高效处理数组和字符串的函数。

无法在这里全部介绍,但会介绍几个在处理脚本时特别方便的函数。

关于其他函数,前述的“MDN Web Docs”中有全面收录。

Array

说明在处理数组时频繁出现的函数。可以对用 [] 初始化的变量进行调用。

let aaa = [];
aaa.push(1);

一览如下所示。

Array - JavaScript | MDN

在核心脚本定义的数据中,也有大量数组。

掌握了数组函数的种类和用法,对于编写高效的脚本非常有帮助。

添加和取出元素

这些是在数组末尾或开头添加或取出元素的函数。

函数说明
push在数组末尾添加元素。
pop从数组末尾取出元素并返回。
unshift在数组开头添加元素。
shift从数组开头取出元素并返回。

对每个元素的循环处理

这是当想要对数组的每个元素分别执行处理时可以使用的函数。

特点是参数中指定一个函数,并且该函数的参数会接收到数组的元素。

仅用语言解释难以传达,所以来看例子。

let aaa = [1, 2, 3];
aaa.forEach(item => {
console.log(item); // 1, 2, 3 会按顺序输出
});

这些函数也可以用已经说明过的 for 语句代替,但根据用途区分使用,可以写出更易读、bug 更少的脚本。

此外,这些函数在核心脚本中也频繁使用,请务必记住。

另外,这些函数与“箭头函数”的兼容性很好。请同时掌握箭头函数的写法。

函数说明
forEach对数组的每个元素执行作为参数传入的函数。
map返回一个新数组,其元素是将原数组每个元素传入参数函数后的返回值。
filter返回一个新数组,其中只包含使参数函数返回 true 的元素。
find返回第一个使参数函数返回 true 的元素。
findIndex返回第一个使参数函数返回 true 的索引。
some如果参数函数至少有一个返回 true,则返回 true
every如果参数函数全部返回 true,则返回 true
reduce使用参数函数将数组归纳为一个单一的值。

reduce 稍微有些复杂,这里省略。

“MDN Web Docs”中有详细说明。

其他

除此之外,数组还提供了许多其他方便的函数。

函数说明
concat返回一个新数组,其中连接了作为参数指定的数组或值。
includes如果数组中包含参数指定的值,则返回 true
join返回一个字符串,将数组的所有元素用参数指定的分隔符连接而成。省略分隔符时使用逗号。
splice可以指定索引来删除或插入数组元素。第一个参数是索引,第二个参数是要删除的数量,第三个及之后的参数是要插入的元素。

Math

Math 模块是定义了数学中使用的函数和常量的函数群。

与上一项的 Array 不同,它不是对自定义的变量使用,而是对固定定义的 Math 对象进行调用,例如 Math.abs

它接近于核心脚本中的 XxxManager

let aaa = Math.abs(-100);

一览如下所示。

Math - JavaScript | MDN

在 Math 模块中,将说明那些在核心脚本中使用或会在技能等计算式中用到的函数。

函数说明
Math.abs(n)返回数值 n 的绝对值。
Math.ceil(n)返回大于等于数值 n 的最小整数。可用于向上取整,但不能在参数为负数时使用。
Math.floor(n)返回小于等于数值 n 的最大整数。同样可用于向下取整,但不能在参数为负数时使用。
Math.round(n)返回将数值 n 四舍五入后的整数。
Math.trunc(n)返回去掉数值 n 的小数部分后的值。比 floor 更适合明确的截断。但在核心脚本中更常使用 floor
Math.max(n, m...)返回参数中指定的数值中的最大值。参数可以指定任意多个。
Math.min(n, m...)返回参数中指定的数值中的最小值。参数可以指定任意多个。
Math.pow(n, m)返回数值 n 的 m 次幂。
Math.randomInt(n)返回 0 到 n-1 范围内的随机整数。实际上这是核心脚本中追加的函数,因此在 MDN 中没有记载。

String

说明在处理字符串时频繁出现的函数。

字符串也和数组一样,在核心脚本中频繁使用,因此掌握方便的函数有助于编写脚本。

let aaa = 'AAAA';
let bbb = aaa.toLowerCase();

一览如下所示。

String - JavaScript | MDN

在 String 中,将说明那些在核心脚本中使用或会在技能等计算式中用到的函数。

以下是常用函数的一览表。

函数说明
includes如果字符串中包含参数指定的字符串,则返回 true
toLowerCase返回将原字符串转换为小写后的新字符串。
toUpperCase返回将原字符串转换为大写后的新字符串。
slice返回从参数指定的开始位置到结束位置截取出的子字符串。
replace将第一个参数指定的字符串替换为第二个参数指定的字符串。
split以参数指定的字符作为分隔符,将字符串分割成数组并返回。