闭包和继承

继承

父类拥有属性及相关方法,通过继承、子类也可以拥有(私有的不能获取)

 

继承的实现方式

1 es6的extends关键词来实现继承(class)

2 原型继承(将对应的需要继承的对象加在原型上 )

3 通过this指向来继承

function Person(){

this.name = "哈哈"

} function Son(){

//this指向Son的实例对象

Person.call(this) //将Person的this指向改为对的son的实例对象

 

闭包执行过程

1.预编译 先开辟一个内存空间装函数对象 在对应的内存空间上再开辟一个空间 代码块空间(来装代码)

2.执行 找到函数的对象空间 在这个对象空间上开辟一个执行空间

再将对应的代码块空间合并到执行空间里面去 进行代码的执行 执行完毕 执行空间销毁

对应的代码块空间也会被销毁 对应的代码块里面的内容就会垃圾回收机制回收

 

闭包的概念:

1.在函数内部返回函数

2.内部函数要存储对应外部函数内的引用

3.那么这个数据就不会被回收 (持久化)

优点 1.持久化 可以作为缓存 2.不会造成数据的全局污染 (外部的内容不会直接访问函数的变量)

缺点 1.因为不会被回收 那么内存空间会一直占用 2.会一直保持引用

posted @ 2022-06-22 19:49  古酒  阅读(20)  评论(0)    收藏  举报