Что значит эта часть кода? [дубликат]

109
12 ноября 2019, 00:20

На данный вопрос уже ответили:

  • Помогите разобраться с индексацией массива в javascript 3 ответа

Есть скрипт который работает следующим образом: при нажатии на иконку музыка включается при нажатии 2 раз выключается. Вот сам скрипт:

function togglePlay(video) {
  var audio = document.getElementsByTagName("audio")[0];
  if (audio) {
    if (audio.paused) {
        audio.play();
        document.getElementById("button").src = "https://image.flaticon.com/icons/svg/149/149658.svg";
    } else {
        audio.pause();
        document.getElementById("button").src = "https://image.flaticon.com/icons/svg/149/149657.svg";
    }
  }
}

Объясните пожалуйста, что значит [0] возле (audio). Для чего он нужен. Спасибо.

Answer 1

Этот вызов

document.getElementsByTagName("audio")

Возвращает массив всех элементов audio c вашей страницы а [0] обращется к первому элементу этого массива (элементу с индексом 0), таким образом это выражение вернет первый элемент audio с Вашей страницы

Для особенных случаев у массива есть метод shift() который возвращает первый элемент(голову) и удаляет его из массива а так же метод pop() который действует так же с последним элементом(хвостом)

READ ALSO
chrome mobile browser зафиксировать adress bar

chrome mobile browser зафиксировать adress bar

при скролле страницы вниз, chrome скрывает adress bar Могу я каким либо способом его зафиксировать и никогда не скрывать?

123
Добавление библиотек в сборку Gulp4

Добавление библиотек в сборку Gulp4

https://githubcom/edisleka/bootstrap4-gulp-starter

112
Не работает отправка JSON в Worker через Transferable Objects

Не работает отправка JSON в Worker через Transferable Objects

Использую Worker для слияния двух крупных JS-объектов, но почему-то пересылка данных туда-обратно занимает чуть ли не по 2 секунды (так, как было...

117
Почему Ajax после загрузки данных из бд не работает

Почему Ajax после загрузки данных из бд не работает

У меня есть код страницы для выбора теста :

117