您的位置:首页 > Web前端 > JavaScript

【JavaScript】JS实现继承最常用的方法

2016-08-01 22:02 549 查看
既然JavaScript是OOP编程,那么就一定有继承这个概念。网络上搜了一下,比较乱,这里我做一下总结。

大体有三种方法:

1、apply/call,不能继承原型;

2、prototype,父类构造函数有参数时就失去了继承的意义,就变成了new一个对象;

3、apply/call和prototype混合使用。

其中,最常用的就是第三种,代码如下:

function A() {
this.age=10;
}
A.prototype.name="jack";
function B() {
A.apply(this);//继承A的自身属性
this.sex="remale";
}
B.prototype = Object.create(A.prototype);//很关键,创建空对象继承父类的原型,保证不对父类进行修改
//B.prototype = A.prototype;//千万不能这样写,这样写会改变父类原型上的属性的值。
B.prototype.constructor = B;//这句话对结构没有什么影响,只是为了继承后结构的一致性,不然construtor指向A。
var b = new B();
alert("A的原型上的属性:"+b.name);
alert("A的自身属性:"+b.age);
alert("B的自身属性:"+b.sex);
前面两种方法都有问题,就不贴了,附上链接:http://blog.csdn.net/kkkkkxiaofei/article/details/46474069
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息