let arg1 = {x:123,y:321};
let func1 = function(){console.log('Функция вызвана!!!');};
let userfunc = 'func1';
eval(userfunc+'(arg1)'); //Это вызывается легко.
//что то вроде этого
userfunc.call(arg1);
//ведь userfunc это всего лишь строка, а не функция.
let func = eval(userfunc);
func.call(arg);
let func = new Function('return ' + userfunc)();
func.call(arg);
let funcs = {
func1(){console.log('Функция вызвана!!!');};
};
funcs[userfunc].call(arg);