随身笔记
随身笔记

js继承推荐方法

继承方法一:

一个构造函数可以继承一个实例化对象里面的属性和方法
例如:
var p1=new wo(); //先实例 (父)
ni.prototype=p1; //(实例化的父赋值给构造函数的儿子)之后把p1的属性和方法,
都放到ni构造函数的原型对象中,这样构造函数就继承了p1里面的属性和方法
var p2=new ni(); //之后实例化对象用的是ni构造函数的都继承了 p1里面的属性和方法
继承方法二:
var p1=new wo();
var p2=new ni();
p2.__proto__=p1; //p2同样也继承了p1,但是 单单只有实例化p2继承p1里面的属性方法。

以上两个方法,具体情况具体使用。

 

alert(p3 instanceof wo); // p3这个实例对象里面有没有指向wo这个构造函数

 

以上的继承有一个问题就是不能传参数,所以我们使用对象冒充来继承。例如:
function Box(name.age){
this.name=name;
this.age=age;
}

function Desk(){
Box.call(this,name,age); // Desk冒充Box构造函数
}
参数的问题解决了又来一个新的问题就是如果Box有原型属性方法的话,Desk冒充只能得到实例的属性和方法
并不能冒充得到原型的属性方法。解决就是使用继承方法一中的方法,ni.prototype=p1;
将父亲实例化后赋值给儿子的构造函数即可,例如:

function Box(name.age){
this.name=name;
this.age=age;
}
Box.prototype.sex=’男’;

function Desk(){
Box.call(this,name,age); // Desk冒充Box构造函数
}

Desk.prototype=new Box(); //将父亲实例化后赋值给儿子的构造函数,这样儿子冒充父亲不仅可以使用父亲的
实例属性和方法也可以使用父亲的原型属性和方法了,继承推荐使用 对象冒充+原型链继承。

jc

随身笔记

js继承推荐方法
继承方法一: 一个构造函数可以继承一个实例化对象里面的属性和方法 例如: var p1=new wo(); //先实例 (父) ni.prototype=p1; //(实例化的父赋值给构造函数的儿子)之后把p1的属性…
扫描二维码继续阅读
2014-09-29