面向对象的三个特征:
1 封装 把代码放到对象的方法中
2 继承 一个对象 拥有另一个对象的所有成员
3 多态 一个对象在不同情况下不同状态
原型继承:
继承 : 一个对象 拥有 另一个对象 所有的 成员
原型继承 把父元素 作为子对象构造函数 的原型
原型链:
什么是原型链?
每一个函数都有原型,而原型也是对象,也会有自己的原型,依次类推形成链式结构,称之为原型链
- 对象访问原型链的规则: 就近原则
-
对象先访问自己的,自己没有就找原型的,原型没有就找原型的原型,一直到原型链终点null.如果还找不到。 属性则获取undefined, 方法则会报错 xxx is not function
关键字:
- instanceof(关键字) : 运算符 .用于检测 构造函数的 prototype在不在实例对象的原型链中,
- 说人话: 亲子鉴定,鉴定两个对象之间有没有血缘关系
- 实例对象 instanceof 构造函数 检测 右边构造函数的prototype 在不在 左边实例对象的原型链
- 应用 : 某些函数为了限制你的数据类型,在内部需要用instanceof进行判断是否是正确的数据类型
arguments :获取函数所有实参
rest : 获取函数剩余的所有实参
函数默认参数 function 函数名(形参=默认值){}
案例 封装模态框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="view