没有jQuery的Javascript原型继承

时间:2014-06-06 15:26:38

标签: javascript inheritance

我对JS原型继承很新。目前我已经建立了一个有点可靠的继承模型,但我确信有更好的方法来做到这一点(至少不使用jQuery.extend)。

我怎样才能使这个更好,并摆脱jQUery的使用?

var TableHeader = function(data) {
    this.title      = data.title;
    this.order      = data.order;
};

TableHeader.prototype.changeOrder = function() {
    console.log('Order changed: PARENT');

    switch (this.order) {
        case 'asc':
            this.order = 'desc';
            break;

        case 'desc':
            this.order = null;
            break;

        default:
            this.order = 'asc';
            break;
    }
};

// ======================================

var ClientTableHeader = function(data) {
    return jQuery.extend(new TableHeader(data), this);
};

ClientTableHeader.prototype.changeOrder = function() {
    // Call the parent
    TableHeader.prototype.changeOrder.call(this);

    console.log('Order changed: CHILD');

    // .. do something more ..
};

0 个答案:

没有答案