#闭包 局部变量的生命周期:作用域的开始到结束,结束后,被销毁,不能使用 闭包就是讲局部变量进化成私有变量的环境,叫闭包 这个环境一般是作用域的嵌套 讲原本要删除的变量,不删除,继续使用
垃圾回收机制:放在临时空间,可以二次或继续使用 ##闭包的引用: 1.循环的事件,获取计数器的值 2.定时器的回调函数传参#继承 某个对象使用了另一个对象具有,自身不具有的功能,叫继承 是面向对象的三大特点: 封装,继承,多态
构造函数 prototype显示原型对象 constructor __proto__隐式原型对象 构造函数继承: 对象在寻找方法时,自身没有,会向父级找,一直到顶层对象(window),多层存在,就近原则 对象继承了构造函数的this;同事也即形成了原型属性 call,apply,bind 1.改变this指向继承:只能继承this、不能继承原型的属性方法 bind(this,参数)(); 2.原型对象继承:(注意深浅拷贝,浅拷贝会影响原数据,深拷贝需要遍历拷贝) for(var i = 0; i < a.prototype.length; i++) { b.prototype[i] = a.prototype[i] } 3.原型链对象继承:可继承this,原型的属性方法,但是不方便传参 将需要继承的构造函数的原型指向被继承的实例 4.混合继承:1+2; 5:ES6de class继承:混合继承 class Child extends Parent{ constructor(n){ super(n); } } ###原型与实例的检测 Parent.isPrototypeOf(new Parent) (new Parent) instanceof Parent