>웹 프론트엔드 >JS 튜토리얼 >간단한 JS 다중 상속 example_javascript 기술

간단한 JS 다중 상속 example_javascript 기술

WBOY
WBOY원래의
2016-05-16 19:05:44938검색
复aze代码 代码如下:

$defined = function (v) {
    return v != 한정되지 않은;
}

클래스 = 함수 () {
    var base = {};
    for (var k=0; k    //{{새로운 인수[k]()를 맞춤 생성자 필드로 사용합니다.
        var o = 인수[k].prototype;
        o.constructor = 인수[k];
        인수[k].call(o);
    //}}
        for (키 입력 o) base[키] = o[키];
    }
    함수 Klass() {
        // 모든 클래스에 대해 하나의 객체 캐시.
        var clso = null;
        function klass() {
            if (arguments.length<=0 && clso!=null) {
               // 캐시 적중.
                반품 clso;
            }
            if ($define(this.constructor.init)) {
              // 클래스 초기화를 위해 init()를 사용하세요.
                this.constructor.init.apply(this, 인수);
            }
            clso = 이것;
        }
        klass.prototype = base;
        반납 수업;
    }
    Klass() 반환;
}

A = new Class();
A.init = 함수 () {
    this.x = 400;
    this.y = 300;
}
B = 새 클래스(A);
B.init = 함수 () {
    this.y = 200;
    this.z = 100;
}
C = 새 클래스(B);
C.init = 함수 () {
    this.z = 0;
}
c = new C();
경고(c.x);
경고(c.y);
경고(c.z); 
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.