数组
<script>
//创建数组
Array.of();//第一种
var arr=[];//第二种
var arr1=new Array(11,22,33);//第三种
</script>
数组里可以写对象,函数,布尔类型
Array.from(类数组,map函数,this指向) 将类数组转成数组,也可以改变this指向
(第一个参数是必须参数,第二个第三个是可选参数)
find() 查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素
findIndex() 查找数组中符合条件的元素索引, 若有多个符合条件的元素,则返回第一个元素索引。(没查找到返回-1)
填充
fill() 将一定范围索引的数组元素内容填充为单个指定的值
- 参数1:用来填充的值
- 参数2:被填充的起始索引(包含)
- 参数3(可选):被填充的结束索引,默认为数组末尾(不包含),默认到最后
copyWithin() 将一定范围索引的数组元素修改为此数组另一指定范围索引的元素
- 参数1:被修改的起始索引
- 参数2:被用来覆盖的数据的起始索引
- 参数3(可选):被用来覆盖的数据的结束索引,默认为数组末尾
entries 遍历
包含includes()检测数组是否包含指定值,查到返回true,否则false
<script>
//多维数组嵌套一维数组 flat() , Infinity数据扁平化处理
var a=[1,[2,3,[4,5,6],7],8,9].flat(Infinity);
console.log(a);
</script>
flatMap() 先对数组中每个元素进行了的处理
- 参数1:遍历函数,该遍历函数可接受3个参数:当前元素、当前元素索引、原数组
- 参数2:指定遍历函数中 this 的指向
ES6 class类
<script>
//定义方式
class Example{}; //命名类
let Example=class{}; //匿名类
</script>
特性
- class 的本质是 function
- 不可重复声明
- 类定义不会被提升,这意味着,必须在访问前对类进行定义,否则就会报错
- 类中方法不需要 function 关键字
- 方法间不能加分号
触发class类方法,实例化一个新的class类 new Example();
静态属性
static不止是可以用于var变量,还可以是函数
实例属性
定义在实例对象(this)上属性
constructor是类默认方法
class继承
- super()特性在extends继承中
- 子类 constructor 方法中必须有 super ,且必须出现在 this 之前
- 调用父类构造函数,只能出现在子类的constructor构造函数
- 调用父类方法, super 作为对象,在普通方法中,指向父类的prototype原型对象, 在子类静态方法中拿取父类静态方法的值,在静态方法中,指向父类