常见的对象继承方式

对象继承常见方式
  • 通过原型链实现继承
  • 通过对象冒充实现继承
  • 通过call方式实现继承
  • 通过apply方式实现继承
1.通过原型链实现继承如下所示
function Person(name,age){
    this.name = name;
    this.age = age;
}
   Person.prototype.sayHello = function(){
    alert('使用原型得到'+this.name);
   }
   var per = new Person('李端','26');
   per.sayHello();
   //创建新对象并实现继承
   function Student(){};
   Student.prototype = new Person('端瑞','23')
   var stu = new Student();
   stu.sayHello();
2.使用对象冒充实现继承
function Person(name,age){
       this.name = name ;
       this.age = age;
       this.showName = function(){
           alert('我是'+name);
    }
}
    function Child(){
    //这三句代码最关键
       this.temp = Person;
       this.temp('李端','26');
       delete this.temp;
    }
    var child = new Child();
    child.showName();//我是李端
3.通过call的方式实现
function Person(name,age){
    this.name = name ;
    this.age = age;
    this.showName = function(){
        console.log('我是'+name);
    }
 }
 function Child(){
    Person.call(this,'李端','26');
 };
 var child = new Child();
 child.showName();
4.通过apply方式实现
function Person(name,age){
    this.name = name ;
    this.age = age;
    this.showName = function(){
        console.log('我是'+name);
    }
 }
 function Child(){
    Person.apply(this,['李端','26']);
 };
 var child = new Child();
 child.showName();
// 注意:js中call和apply都可以实现继承,唯一的一点参数不同,func.call(func1,var1,var2,var3)对应的apply写法为:func.apply(func1,[var1,var2,var3])。

转载于:https://www.cnblogs.com/dreamsboy/p/6648858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值