前端基础知识巩固
个人技术知识巩固
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() :在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。