es5里面的继承 原型链实现继承

web类 继承Person类 原型链+对象冒充的组合继承模式

对象冒充的方式实现继承
  function Person() {
        this.name = "志杰啊"; // 属性
        this.age = 20;

        this.run = function () {  //定义的方法
            console.log(666)
        }

    };

    Person.getInfo = function () { // 添加静态的方法

        console.log("添加静态方法!")
    }




    //web类 继承Person类  原型链+对象冒充的组合继承模式

    function Web() {
        Person.call(this); /* 对象冒充实现继承*/
    }

    var w = new Web(); // 实例化w   Web继承Person的属性与方法
    w.run();

  w.work(); // 报错   // 对象继承可以继承构造函数里面的属性和方法  但是无法继承原型链的上面的属性和方法

在这里插入图片描述

es5 里面原型链实现继承
function Person() {
        this.name = "志杰啊"; // 属性
        this.age = 20;

        this.run = function () {  //定义的方法
            console.log(666)
        }

    };

    Person.prototype.sex = "男";
    Person.prototype.work = function () {
        console.log(this.name + "在认真学习typescript")
    }


    function Web() {

    };

    Web.prototype = new Person(); // 原型链的实现的继承

    // 实例化
    var w = new Web();

    w.run();
    console.log(w.name)
    // 通过原型链继承的方法既能够继承构造函数里面的方法 也能继承原型链里面的方法
    w.work(); // 志杰啊在认真学习typescript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值