В противном случае, если вам нужно строить из строки, тогда 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();