@drunken_ikarus

Как вызвать метод объекта, если имя метода и имя объекта в переменной?

Здравствуйте!
К примеру есть объект:
obj = {
'met' : function(){};
}

как (не использую eval) вызвать метод met если имя объекта и метода в переменной:
myvar = "obj.met";
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Похоже на вопрос с собеседования )
Нужно от текущего контекста (window, this или еще что) действовать. Поделить на части и сделать что-то типа
console.log('obj.met'.split('.').reduce((c, k) => return  typeof c[k] === 'object' ? c[k] : c[k](), window))


но это не всегда возможно
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@drunken_ikarus Автор вопроса
Сам спросил, сам ответил))
window[ obj][ met]();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы