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

Всем привет!

Есть ряд функций. Их имена, условно говоря, состоят из двух групп, например: func + X, где X может быть 1,2,3 ... и т.п. Значение второй части находится в переменной, как вызвать такую функция?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
В зависимости о того, в каком контексте выполнения эти функции объявлены.
Если в window, то так: window['func' + '1']()
Если не в window, то нужно смотреть на конкретный код, возможно, вызвать функцию по динамическому имени будет невозможно.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Но, никогда так не делайте.

eval('function_45678_78()');
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
var o = {}
o['f1'] = function() {console.log("f1")}
o['f2'] = function() {console.log("f2")}
o['f'+1]() // --> f1
o['f'+2]() // --> f2
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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