js 内置函数
js 中预先定义了大量用于高效处理数组和字符串的函数。
无法在这里全部介绍,但会介绍几个在处理脚本时特别方便的函数。
关于其他函数,前述的“MDN Web Docs”中有全面收录。
Array
说明在处理数组时频繁出现的函数。可以对用 [] 初始化的变量进行调用。
let aaa = [];
aaa.push(1);
一览如下所示。
在核心脚本定义的数据中,也有大量数组。
掌握了数组函数的种类和用法,对于编写高效的脚本非常有帮助。
添加和取出元素
这些是在数组末尾或开头添加或取出元素的函数。
| 函数 | 说明 |
|---|---|
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 模块中,将说明那些在核心脚本中使用或会在技能等计算式中用到的函数。
| 函数 | 说明 |
|---|---|
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 中,将说明那些在核心脚本中使用或会在技能等计算式中用到的函数。
以下是常用函数的一览表。
| 函数 | 说明 |
|---|---|
includes | 如果字符串中包含参数指定的字符串,则返回 true。 |
toLowerCase | 返回将原字符串转换为小写后的新字符串。 |
toUpperCase | 返回将原字符串转换为大写后的新字符串。 |
slice | 返回从参数指定的开始位置到结束位置截取出的子字符串。 |
replace | 将第一个参数指定的字符串替换为第二个参数指定的字符串。 |
split | 以参数指定的字符作为分隔符,将字符串分割成数组并返回。 |