JS-12-类的继承与构造器

一、继承

//创建父类

//创建子类

//建立关系

function P(){

}

function C(){

}

//第一种   子类的东西暴露给父类,不推荐

C.prototype = P.prototype;

var c1 = new C();

//第二种  凭空创建一个对象,没用到,浪费内存,不推荐

C.prototype = new P();

//第三种

function F();     

F.prototype = P.prototype;

C.prototype = F();

var f = new F();

C.prototype = f;

C.prototype = Object.create(P.prototype);

二、构造器修正


functoin Person(){ //1.创建父类

}

Persion.prototype.headCount = 1;

Persion.prototype.eat = function(){

 }

function Programmer(){ //2.创建子类

}


Programmer.prototype = Object.create(Persion.prototype); //3.继承 

Programmer.prototype.constructor  = Programmer;


Programmer.prototype.language = "javascript"; //4.子类方法

Programmer.prototype.work = function(){

console.log("i am writing code in"+ this.language)

}

三、自己写函数升级

function createEx(Child,Parent){

function F(){};

F.protytype = Parent.prototype;

Child.prototype = new  F(); 

Child.prototype.constructor = Child;

Child.super = Child.base = Parent.prototype; //继承父类属性

}

createEx(Programer,Person);

四、一些属性

.hasOwnProperty()://自己是否有X属性

.isPrototypeOf() //是否是X的原型 

.getPrototypeOf() //得到原型


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值