温馨提示×

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

发布时间:2020-07-10 09:35:15 阅读:385 作者:Lee_吉 栏目:web开发
  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

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。