Если вы хотите динамически генерировать свою функцию без eval
, вы можете использовать конструктор
Function([arg1[, arg2[, ... argN]],] functionBody)
Таким образом, вы можете делать такие вещи, как
var func = new Function('message', 'alert("Hello, " + message);')
func('world!');
Подробнее см. MDC .
Приветствия
Примечание : я никогда раньше не использовал этот подход и никогда раньше не использовал конструктор Function (). Так что я не знаю, может ли это иметь какие-то другие недостатки.