javascript继承的基本写法

/*

* 类继承的基本写法

* 1:构造函数用来new一个类对象,并且可以传递参数

* 2:给类名的prototype对象赋值,用来表示从一个其他类继承

* 3:重新给类的prototype对象的constructor指针赋值,用来重新定位其构造函数

* 4:需要注意的var p = new parent();p相当于parent.prototype对象的一个实例,只是指向了一次

* 构造函数,进行了一些初始值的赋值

* */

function parent(name,age,sex){

this.name = name;

this.age = age;

this.sex = sex;

}


//这种写法相当于让parent类从一个自定义的object类继承了

parent.prototype = {

/*这里相当于一个自定义的object*/

name:"",

age:"",

sex:"",

say:function(){

window.alert(this.name + "\n" + this.age + "\n" + this.sex);

}

}

//这行代码用来重新指定parent类的构造函数指针指向的对象,

//如果没有该行代码则var p = new parent(); p.constructor指向的是object(){}也就是

//其所在类的prototype对象的constructor

parent.prototype.constructor = parent;


function child(name,age,sex,work){//定义子类的构造方法

this.supperClass.call(this,name,age,sex);//调用父类的构造方法

this.work = work;//加入自己的属性赋值

}


child.prototype = new parent();//new parent()相当于上面的{},{}相当于new Object(){}

child.prototype.supperClass = parent;//可以在子类中加入一个自定义的superClass表示其对应父类

child.prototype.say=function(){//自己的方法逻辑

alert(this.name + "\n" + this.age + "\n" + this.sex + "\n" + this.work);

}

child.prototype.constructor = child;


调用方式:
var p = new parent();
p.say();
var c = new child();
c.say();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值