6.3.1原型链
1:基本概念
原型链:每个构造函数都有一个prototype,每个prototype都包含一个指向构造函数的指针,而每个实例都包含一个指向prototype的内部指针。当
当我们令一个prototype等于另一个类型的实例,此时这个prototype就继承了另一个类型的prototype。
2:原型搜索机制
当我们读取一个属性时的过程:①实例属性②实例.prototype③实例.prototype.prototype……最后搜索Object prototype
3:默认的原型Object
所有函数的默认原型都是Object的实例,因此默认原型都会包含一个内部指针,指向Object.prototype,所以所有自定义类型也都会继承toString(),valueOf()等默认方法的原因
4:谨慎的定义方法
①给原型添加方法的代码一定要放在替换原型的语句之后
//替换原型,继承superType() subType.prototype = new SuperType(); //添加新方法 subType.prototype.getSubValue = function(){ return this.subproperty; };
②通过原型链实现继承时,不能使用对象字面量创建原型方法,这样会重写原型链
时间: 2024-11-09 20:44:57