Как из строки сделать переменную?

Пишу свой плеер для YouTube, но есть проблема, не понимаю как из строки сделать переменную. Нужно запустить плеер, запуск происходит так: player1.playVideo();

Проблема в том, значение 'player1' хранится в объекте: playerInfo.id = 'player1';

Естественно playerInfo.id.playVideo(); не прокатывает.

Код можно посмотреть на codepen.io 62 строка
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
@NiyazNA
Может так, при условии, что уже существует объект player1
eval(`${playerInfo.id}.playVideo();`)
Ответ написан
RAX7
@RAX7
Все гораздо проще, неправильно колбэк прописан на onReady
было:
events: {
  'onReady': onPlayerReady()
}


нужно:
events: {
  'onReady': onPlayerReady.bind(null, playerInfo),
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@altemuller
Вы пытаетесь вызвать метод на строке, а не на объекте плеера. player1 должен быть объектом. Ищите ошибки в своём коде. Такого листинга недостаточно.

Пример:
let players = {
  player1: playerObject
}
players[playerInfo.id].playVideo()
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 30 000 до 65 000 руб.
BSSL Москва
от 50 000 до 150 000 руб.
от 60 000 до 90 000 руб.
23 июл. 2019, в 23:31
9000 руб./за проект
23 июл. 2019, в 22:14
18000 руб./за проект
23 июл. 2019, в 20:31
500 руб./за проект