Показать сообщение отдельно
  #1 (permalink)  
Старый 27.06.2012, 22:51
Интересующийся
Отправить личное сообщение для noname1990 Посмотреть профиль Найти все сообщения от noname1990
 
Регистрация: 04.05.2012
Сообщений: 18

вопрос про наследование
В Sanbox.module.dom есть строчка, если parent, то наследовать, когда я создаю новый объект dome, и указываю что нужно наследовать от конструктора Sandbox, то по идее у меня должна сработать функция dome.count(), но тока этого не происходит))) я немного уже запутался, мот кто подскажет в чем проблема?
Sandbox.modules = {};

Sandbox.modules.dom = function (parent) {

    if (parent)
    {
        function F(){};
        F.prototype = parent.prototype;
        Sandbox.modules.dom.prototype = new F();
    }

    this.name = 'AppDom';
    this.getElement = function()
    {
        console.log(this)
    }

}

function Sandbox() {

    var args = Array.prototype.slice.call(arguments),
        callback = args.pop(),
        modules = (args[0] && typeof args[0] === "string") ? args : args[0],
        i

    if (!(this instanceof Sandbox)) {
        return new Sandbox(modules, callback);
    }

    if (!modules || modules === '*') {
        modules = [];
        for (i in Sandbox.modules) {
            if (Sandbox.modules.hasOwnProperty(i)) {
                modules.push(i);
            }
        }
    }

   
    callback(this);

}

Sandbox.prototype.count = function(){alert('count')};
new Sandbox(['dom'], function(Modul)
{
    var dome = new Sandbox.modules.dom(Sandbox);
    dome.count();
});
Ответить с цитированием