js实现继承的几种方法

js实习继承的几种方法:

1. for-in继承:

function Person(){ //父类

this.name="水煮鱼";

this.age=18;

}


function Son(){ //子类

}

var p=new Person();

var s=new Son();

for(var k in p){

s[k]=p[k];

}

console.log(s.name); //水煮鱼

console.log(s.age); //18


2.原型继承:

function Human(){

this.name="香辣虾";

this.age=21;

}

function Man(){

}

Man.prototype=new Human();

var m=new Man();

console.log(m.name); //香辣虾

console.log(m.age); //21
 
console.log(m); //Human {}


3.经典继承:(Object.create())

var animal={

name:"Tom",

type:"猫科"

};

var a=Object.create(animal) //ES5属性

console.log(a.name); //阿咪

console.log(a.type); //猫科

console.log(a);//{}


Object.create()是让一个对象的原型继承另外一个对象;所以虽然a.name和a.age是可以访问成功的,但实际上a本身并没有这些属性,而是a的原型上有这些属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值