Показать сообщение отдельно
  #41 (permalink)  
Старый 31.03.2015, 22:20
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от theKingOfJava
 
Регистрация: 31.03.2015
Сообщений: 113

Сообщение от MallSerg
Ты действительно думаешь что при вызове функции check происходит кодогенирация?
кодогенерация, блеать, происходит при вызове add, при вызове check происходит создание объекта, отображающего текущее состояние серверов, я тебе уже 3-й раз одно и то же повторяю.

Ты не понял код, и не поймешь, видимо, судя по твоим суждениям. Последняя отчаянная попытка. Перепишем код вот так:
var SelfModifyObserver = function(){
    var stack = [];
    this.add = function(server){
        stack.push(server);
        var code = 'return (new function(){;'
        for(var i = 0, ln = stack.length; i < ln; i++){
            code += "this." + stack[i].name + '=' + 'stack[' + i + '].ping();'
        }
        code += '}());';
        this.check = eval('(function(){' + code +'});');
        return this;
    };
    this.check = function(){return new function(){}();}
};

кури до просветления. И если надумаешь что-то еще спрашивать, разберись сначала с кодом, пойми его. У меня нет желания обсуждать тут твои фантазии.
Ответить с цитированием