Показать сообщение отдельно
  #23 (permalink)  
Старый 11.08.2009, 12:14
zzz zzz вне форума
Аспирант
Отправить личное сообщение для zzz Посмотреть профиль Найти все сообщения от zzz
 
Регистрация: 06.08.2009
Сообщений: 91

Зайдя на сайт Крокфорда я нашёл такой код
Function.method('inherits', function (parent) {
    var d = {}, p = (this.prototype = new parent());
    this.method('uber', function uber(name) {
        if (!(name in d)) {
            d[name] = 0;
        }        
        var f, r, t = d[name], v = parent.prototype;
        if (t) {
            while (t) {
                v = v.constructor.prototype;
                t -= 1;
            }
            f = v[name];
        } else {
            f = p[name];
            if (f == this[name]) {
                f = v[name];
            }
        }
        d[name] += 1;
        r = f.apply(this, Array.prototype.slice.apply(arguments, [1]));
        d[name] -= 1;
        return r;
    });
    return this;
});

А тот код я взял не из книги Крокфорда а из книги Джона Рейсига может он там курнул и решил его подкоректировать. Как вам этот код?
Ответить с цитированием