10.原型链实现继承
不搞那些概念性的东西,直接说结论了,实现继承的方式就是:
将第一个构造函数的原型等于第二个构造函数的实例,然后第一个构造函数的所有实例都会拥有第二个构造函数的所有自有属性以及原型属性
function Person(){
this.a = 1;
this.b = 2;
}
function PersonNext(){
this.shareOne = "one";
this.shareTwo = "two";
}
PersonNext.prototype.cc = function(){
alert(11);
}
pNext = new PersonNext();
Person.prototype = pNext; //将Person的原型等于PersonNext的实例,这样写会将Person的原型全部替换,之前写的原型属性都会被替换
Person.prototype.fa = function(){ //在替换之后写的属性才会生效
alert("aha!")
}
per1 = new Person();
per1.hasOwnProperty("a"); //true
per1.shareOne; //one
per1.hasOwnProperty("shareOne"); //false
per1.cc; //f () {alert(11)}
per1.hasOwnProperty("cc"); //false
per1.fa; //f () {alert("aha")}
per1.hasOwnProperty("fa"); //false
网友评论