T1MER
@T1MER
Frontend разработчик

Как создать функцию, если её название лежит в переменной?

У меня есть переменная

var funcName = 'sum'

Мне нужно создать функцию

function sum () {

  }


Есть ли способы при объявлении функции использовать название из переменной (funcName) ?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
@MEDIOFF
Python Developer
Только присваивать ее какому нибудь глобальному объекту, типо window:

var funcName = "sum";

window[funcName] = function () {
 console.log(1 + 2);
};

window.sum();


Поправочка, можно еще через globalThis, но поддержка не у всех браузеров (Edge не поддерживает):
var a = "sum";

globalThis[a] = function () {
  console.log(1 + 3);
};

sum();


еще поправочка, через window тоже можно писать sum():
var a = "sum";

window[a] = function () {
  console.log(1 + 4);
};

sum();
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
WblCHA
@WblCHA
Только так:
const customFunc = {
  [funcName]: () => { ... },
};

Но, опять же, зачем этот бред?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы