В противном случае, если вам нужно строить из строки, тогда evaling может быть лучшим методом для динамического добавления методов в определение объекта.

нтересно, есть ли лучший способ добавить динамические методы к существующему объекту. По сути, я пытаюсь динамически собрать новые методы, а затем добавить их в существующую функцию.

Этот демонстрационный код работает.

builder = function(fn, methods){

    //method builder
    for(p in methods){
        method = 'fn.' + p + '=' + methods[p];
        eval(method);
    }

    return fn;
}
test = {}
test = builder(test, {'one':'function(){ alert("one"); }','two':'function(){ alert("two"); }'} );

test.one();
test.two();

Ответы на вопрос(5)

Ваш ответ на вопрос