函数剩余参数
语法: 在函数形参列表中,必须放到最后一个位置处通过 …自定义形参名
函数中剩余参数以数组的形式存在的
函数中剩余参数作用可以,保存函数中多余的实参信息
函数中如果形参个数不确定,还可以通过剩余参数获取
箭头函数
箭头函数: 本质上还是一个函数 (es6中函数的一种新的写法)
语法: () => {}
{} 表示函数体
() 表示设置函数形参
箭头函数本身没有名字,所以箭头函数也是一个匿名函数
总结
箭头函数中可以设置参数
箭头函数中可以设置返回值
当使用箭头函数的时候,如果形参个数不确定,不能使用arguments来获取实参信息
当使用箭头函数的时候,如果形参个数不确定,只能通过剩余参数获取
箭头函数中本身就没有自己的this关键字,箭头函数中的this关键字是其上一级中的this指向
简写
如果箭头函数中有且只有一个形参,那么()可以不写
如果箭头函数中只有一行代码,那么{}可以不写
如果箭头函数中只有一行代码且返回值,{} 和 return 可以省略不写
解构赋值
新方式从数组或对象中取值
数组解构赋值: let [自定义变量,自定义变量] = 数组;
对象解构赋值: let {对象中的属性: 自定义变量} = 对象;
在对象解构赋值中,如果自定义变量名和属性名一样,那么自定义可以省略不写
let {对象中的属性} = 对象
面向对象
面向对象: 属于一种编程思想: 特点: 解决问题的时候从对象的角度出发
解决问题的具体步骤
先抽象一个对象
给对象设置对应的属性或方法
编程思想的核心
先找对象(定义对象)
给对象设置属性和方法
面向过程: 属于一种面向过程思想 (webAPI) 特点: 解决问题要一步一步实现
定义对象
方式
字面量方式
let 对象名 = {}
通过构造函数定义对象
语法:
let 自定义对象名 = new Object();
new Object() 固定写法
Object()就是js中内置好的一个函数
当new关键字和函数配合使用的时候,将Object()函数称为构造函数
构造函数的作用就是用来创建对象
通过构造函数创建的对象依然可以通过点的方式给对象设置属性或方法
通过字面量创建的对象和通过Object()构造函数创建的对象是一样的
通过字面量创建对象的方式本质上就是通过构造函数Object()创建对象的一种简写形式
工厂式创建对象
本质上就是将构造函数创建对象进行了一次封装
通过参数的形式灵活给每一个对象进行赋值
在函数中将创建的对象进行返回
在程序中如果需要创建多个对象,那么可以通过工厂方式实现
this关键字总结
构造函数中的this指向: 通过构造函数创建的对象
普通函数中的this指向: window顶级对象
事件中的this指向: 指向的是事件源对象
定时时器中的this指向: window顶级对象
方法中的this: 指向方法的调用者(对象)
对象中的成员
对象中的属性或方法都可以称为成员
实例成员: 在构造函数中,通过this关键字设置的属性或方法
实例成员被访问的规则: 实例成员必须通过实例对象点的方式访问
实例对象: 通过构造函数创建的对象
静态成员: 凡是通过构造函数本身设置的属性或方法都叫静态成员
静态成员: 静态成员只能通过构造函数访问,不能通过实例对象访问
内置对象 arry()
实例方法
- reverse() 翻转数组
- indexOf() 检索数组中的值
- lastIndexOf() 检索数组中的值
- splice()删除或其他数组中的值
- concat()合并两个数组的值
- join() 将数组中的值拼接为字符串
- forEach(function(item, index){}) 遍历数组
- filter(function(item, index){}) 过滤筛选数组,返回一个新数组
- map(function(item, index){})迭代原数组,生成新数组
网址
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array