Короткий вопрос, если это работает (и это делает):экземпляра объекта с помощью Eval в JavaScript
eval("new " + generator.className + "(" + generator.constructorArgs.join(", ") + ")");
почему это не работает:
eval(generator.className + ".prototype.constructor.apply({}, generator.constructorArgs);");
Второе выражение всегда возвращает неопределенное значение, но по-моему, это должно сработать. Я попробовал это на фиктивных объектах, таких как:
var dummy = function() {};
Кроме того, можно ли каким-либо образом избежать использования eval в этой ситуации?
Спасибо,
Alex
Кроме того, 'Foo.prototype.constructor' кажется излишним и подвержен ошибкам ко мне, так как' constructor' свойство изменчиво, и я думаю, что вы хотите вызвать всегда* generator.className * функция ... – CMS