javascript继承(call方法)机制的两种实现

  1. 内部实现:
    function ClassA(sColor) {
    this.color = sColor
    this.sayColor = function () {
        console.log(this.color)
    }
    }
    function ClassB(sName) {
    this.name = sName
    this.sayName = function () {
        console.log(this.name)
    }
    }
    function ClassC(sColor, sName) {
    ClassA.call(this,sColor)
    ClassB.call(this,sName)
    }
    var objA = new ClassA("blue")
    var objC = new ClassC("red", "John")
    objA.sayColor()
    objC.sayColor()
    objC.sayName()
  2. 外部实现:
    function ClassA(sColor) {
    this.color = sColor
    this.sayColor = function () {
        console.log(this.color)
    }
    }
    function ClassB(sName) {
    this.name = sName
    this.sayName = function () {
        console.log(this.name)
    }
    }
    function ClassC(sColor, sName) {
    }
    var objA = new ClassA("blue")
    var objC = new ClassC()
    ClassA.call(objC,'red')
    ClassB.call(objC,'John')
    objA.sayColor()
    objC.sayColor()
    objC.sayName()
  3. 输出:
    blue
    red
    John

网站栏目:javascript继承(call方法)机制的两种实现
本文网址:http://lszwz.com/article/jpidpd.html

其他资讯

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款