一、闭包
1. 闭包:利用作用域的嵌套,将原本的局部变量,进化成私有变量的坏境叫闭包
2. 闭包的原理:
- 计算机的垃圾回收机制:
- 内存:运行数据,只要关闭运行或运行结束,会被自动回收。
- 硬盘:存储数据,先将要删除的数据,放在一个临时空间,如果该数据需要二次使用,可以重新获取重新使用
- 函数的作用域链:
- 定义作用域:函数定义时所在的作用域
- 执行作用域:函数执行时所在的作用域
- 规则:函数在执行时,可以获取到自身所在定义作用域中的数据
- 函数属于负责数据类型,在内存中以地址和值的形式存在,简单赋值,传递的是地址,只要能拿到相同的地址,其实使用的是同一个值
3. 闭包的应用
- 循环中绑定事件,事件处理函数内,获取循环的计数器
- 可以给 不能给回调函数传参的内置函数 的回调函数传参
- 可以给事件处理函数传参
4. 闭包的特点
- 可以在作用域外部,**操作**作用域内部的数据
- 比较占内存,少用
- 在某些低版本浏览器中会造成内存泄漏
二、继承
1. 一个不具有某个功能的对象A,使用了另一个具有这个功能的对象B的功能的 过程,叫继承
2. 对象与对象之间:使用函数的call,apply,bind方法,改变this指向
3. 类与对象之间:new之后,对象就继承了构造函数的原型对象
4. 类与类之间
- 改变this指向(构造函数继承)
- 语法简单
- 多继承
- 只能继承构造函数中的内容,不能继承原型身上的内容