Для примера имеется несколько кнопок управления видео на сайте к которым с помощью цикла добавлям EventListener.
<article>
<video>
<source src=http://techslides.com/demos/sample-videos/small.webm type=video/webm>
Your browser does not support the video tag.
</video>
<div class="controlbtn">
<button class="btnPlay">Play</button>
</div>
</article>
<article>
<video>
<source src=http://techslides.com/demos/sample-videos/small.webm type=video/webm>
Your browser does not support the video tag.
</video>
<div class="controlbtn">
<button class="btnPlay">Play</button>
</div>
</article>
window.addEventListener("load", function(event) {
var videos = document.getElementsByTagName("video");
var btnsPlay = document.getElementsByClassName("btnPlay");
for (let i = 0; i < videos.length; i++) { //var?
btnsPlay[i].addEventListener("click", function (event) {
videos[i].play()
});
}});
Стоит заменить let на var и получаем ошибку.
Из этого ищу ответ на несколько вопросов:
1.Какова причина разного результата?
2. Что нужно изменить для работы с var?
3.В каких случаях стоит применять let а в каких var?