摘要:
继承中的最佳范式是寄生组合继承,它结合了寄生式继承(来源于原型式继承)和组合继承,原型式继承可以以一个对象为基础,对基础对象进行浅复制,然后赋给子类。寄生式实现对原型式继承的封装,使之拓展更多的属性和方法。而组合继承解决了原型链对于原型对象全面复制父类构造函数的属性的问题(特别是引用类型,从构造函数的属性变成原型对象的属性,就共享了),同时解决了借用构造函数只能把属性和方法写入构造函数中的问题。组合继承的问题在于原型对象中有多余的属性(因为使用了原型链继承,构造函数的属性都继承在了原型中了,这个问题由原型式继承解决)。 阅读全文
摘要:
最佳方式:
原型模式与构造模式组合使用、
动态原型模式;
常用的方法:
删除实例属性 delete、
检测对象类型 instanceof、
判断原型对象与实例之间是否联系 isPrototypeOf()、
获得原型对象 Object.getPrototypeOf()、
判断属性是否存在于原型对象中、
获得可枚举的属性和方法 Object.keys() 阅读全文