前端基础知识巩固
个人技术知识巩固
1.vue组件通信的attrs和listener:(爷孙组件通信,爷组件向子组件以及孙组件之间的通信)
$attrs:
- 在当前组件b中使用this.$attrs可以接收父组件a传递的属性对象(非props定义的参数和calss/style)
- 继续在当前组件b添加 v-bind="$attrs" 可以把父组件a的属性对象传递给子组件c
- 子组件可以使用props接收a,b组件传递的属性。也可以直接使用this.$attrs接收属性
$listener:
- 相当于组件c定义一个this.$emit('change')事件函数,可以传递到组件b,组件b可以使用@change接收这个事件
- 如果组件a要接收这个事件,可以直接在组件b上写上v-on="$listener",这样组件a也可以使用@change接收这个事件
2.数组原型方法:
- join() 把数组分割为字符串,元素通过指定的分隔符进行分隔。
- split()把字符串分割为数组,元素通过指定的分隔符进行分隔
- concat() 连接两个或更多的数组,并返回结果。
- pop() 删除并返回数组的最后一个元素。
- push() 向数组的末尾添加一个或更多元素,并返回新的长度。
- unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
- shift() 删除并返回数组的第一个元素
- reverse() 颠倒数组中元素的顺序。
- sort() 对数组的元素进行排序
- slice() 返回从原数组中指定开始下标到结束下标之间的项组成的新数组,可以接受一或两个参数,即要返回项的起始和结束位置
- splice() 可以实现删除、插入和替换,三个参数
- forEach() 循环当前数组,可以修改拿到当前的每一项
- map() 返回一个新数组,会按照原始数组元素顺序依次处理元素
- every() 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true
- some() 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true
- includes() 用来判断一个数组、字符串是否包含一个指定的值(基本数据类型) 返回true和false
- find() 返回匹配的值
- findIndex() 返回匹配值位置的索引
- indexOf() 从左检查数组中有没有这个数值,可返回某个指定的字符串值(基本数据类型)在字符串、数组中首次出现的位置。
- lastIndexOf 从右检查数组中有没有这个数值
- reduce() 都会实现迭代数组的所有项(即累加器),然后构建一个最终返回的值
- toSource() 返回该对象的源代码。
- toString() 把数组转换为字符串,并返回结果。
- toLocaleString() 把数组转换为本地数组,并返回结果。
- valueOf() 返回数组对象的原始值。
3.不改变原数组的方法
slice()
:返回一个新的数组对象,这一对象是一个由begin
到end
(不包括end
)选择的数组的浅拷贝。原始数组不会被修改。
concat()
:用于合并两个或多个数组。此方法不会改变现有的数组,而是返回一个新数组。
join()
:将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。不会修改原数组。
toString()
:返回一个字符串,表示该数组的元素由逗号分隔的字符串。和join()
类似,但不会接受任何参数,且不会修改原数组。
map()
:创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。原数组不会被修改。
filter()
:创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。原数组不会被修改。
reduce()
和 reduceRight()
:对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。不会修改原数组。
find()
和 findIndex()
:find
方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined
。findIndex
方法返回数组中满足提供的测试函数的第一个元素的索引。如果没有找到,则返回-1。两者都不会修改原数组。
flat()
和 flatMap()
:flat()
方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。flatMap()
方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。两者都不会修改原数组。
4.改变原数组的方法
forEach()
:遍历数组中的每一个元素,如果修改元素的值就是修改当前数组的值。
push()
:向数组的末尾添加一个或更多元素,并返回新的长度。
pop()
:删除并返回数组的最后一个元素。
shift()
:删除并返回数组的第一个元素。
unshift()
:向数组的开头添加一个或更多元素,并返回新的长度。
splice()
:通过删除现有元素和/或添加新元素来更改一个数组的内容。
sort()
:对数组的元素进行排序,并返回数组。
reverse()
:颠倒数组中元素的顺序,并返回该数组。
fill()
:用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
copyWithin()
:在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。