WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院网页设计JavaScript JavaScript中的继承机制 阅读

JavaScript中的继承机制

 2009-10-28 00:00:00 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姈椤愮厧鈽夊Ο閿嬬€婚梺褰掑亰閸撴稑鈻斿鑸碘拺闁告稑饪村▓鏃€绻涚仦鍌氬闁崇粯鎹囬獮瀣攽閹邦剚顔傛俊鐐€栧濠氬储瑜忛幉鎾晸閿燂拷
核心提示:1,对象冒充方式原理:构造函数使用this关键字给所有属性和方法赋值,JavaScript中的继承机制,因为构造函数只是一个函数,所有可是基类的构造函数成为子类的方法,以后就不能在调用它,this.name=sName;//所有新的属性和方法必须在删除了新方法(newMethod)的代码后定义.否则,然后调用它,子类就

1,对象冒充方式

原理:构造函数使用this关键字给所有属性和方法赋值。因为构造函数只是一个函数,所有可是基类的构造函数成为子类的方法,然后调用它。子类就会收到基类的构造函数中定义的属性和方法。

    function ClassA(sColor) {
        this.color = sColor;
        this.showColor = function() {
           alert(this.color);
        };
    }
    function ClassB(sColor,sName) {
        this.newMethod = ClassA;
        this.newMethod(sColor);
        delete this.newMethod;  //删除对ClassA的引用,以后就不能在调用它。
         this.name = sName;      //所有新的属性和方法必须在删除了新方法(newMethod)的代码后定义.否则,可能会覆盖基类的相关属性和方法
         this.showName = function() {
            alert(this.name);
        };
    }
        
    var objA = new ClassA("red");
    var objB = new ClassB("blue","Nicholas");
    objA.showColor();   //outputs "red"
    objB.showColor();   //outputs "blue"
    objB.showName();    //outputs "Nicholas"

并且对象冒充可以支持多重继承。

例如

    function ClassZ(){
        //继承ClassX
        this.newMethod = ClassX;
        this.newMethod();
        delete this.newMethod;
 
        //继承ClassY
        this.newMethod = ClassY;
        this.newMethod();
        delete this.newMethod;
    }

1 2 3  下一页

Tags:JavaScript 继承 机制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接