JS僞繼承

vod的代碼

/***************************************************************************

     * 僞繼承
     * 
     * @param {Object}
     *            BaseFunc 繼承的函數
     * @param {Object}
     *            config 新類重新定義的函數和屬性
     * @return {TypeName} 新的子類
     */
    extend : function(BaseFunc, config) {
        var F = function() {
            /** 繼承屬性 */
            BaseFunc.apply(this, arguments);


            /** 賦新的屬性 */
            for (var key in config) {
                this[key] = config[key];
            }
        }


        /** 繼承方法 */
        F.prototype = BaseFunc.prototype;


        /** 構造函數還是自己 */
        F.prototype.constructor = F;


        return F;

    }


網上查閱的代碼:

function Animal(name){
this.name = name;
this.showName = function(){
alert(this.name);
}
}
function Cat(name){
Animal.call(this,name);
}
var cat = new Cat("cat");
cat.showName();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章