splice大总结:
- 本职工作是替换项 arr.splice(3, 2, ‘X’, ‘Y’, ‘Z’);
- 可以用来删除任意项 arr.splice(3, 2);
- 可以用来任意插入项arr.splice(3, 0, ‘X’, ‘Y’, ‘Z’);
slice()方法截取子数组
slice(a, b)用于截取子数组,左闭右开区间。截取的子数组从下标为a的项开始,到下标为b(但不包括下标为b的项)结束。
- slice()如果不提供第二个参数,则表示从指定项开始,提取所有后续所有项作为子数组
- slice()方法的参数允许为负数,表示数组的倒数第几项
- slice(a, b)方法不会更改原有数组,它不是变异方法
indexOf()和includes()方法都用来检查项是否存在
- indexOf()方法的功能是搜索数组中的元素,并返回它所在的位置,如果元素不存在,则返回-1
- includes()方法的功能是判断一个数组是否包含一个指定的值,返回布尔值
join()将数组变为字符串
- 数组的join()方法可以使数组转为字符串;字符串的split()方法可以使字符串转为数组
- join()的参数表示以什么字符作为连接符,如果留空则默认以逗号分隔,如同调用toString()方法
- split()的参数表示以什么字符拆分字符串,一般不能留空
reverse()逆序数组
闭包
- 闭包是什么:函数本身,和定义时所处的外部环境,合称为“闭包”。
- 表现:函数如果被挪到了其他地方执行,那么仍然能够使用定义时候的作用域。
- 功能:1、制作记忆性的程序,比如调用一次inner()就让内部a加1; 2、能够私有化变量,让a被保管的安全一些,只能让它增加,不能减少。
- 缺点:容易造成内存泄露。比如外部函数已经设置为null了,闭包还在。