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

来源:互联网 发布:手机qq辅助软件 编辑:程序博客网 时间:2024/06/03 06:21

一、继承

//创建父类

//创建子类

//建立关系

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() //得到原型


原创粉丝点击