Чтобы исключить исключительное исключение индекса массива, следует использовать инструкцию расширенный- for
, где и когда они могут.
Основная мотивация (и использовать), когда вы выполняете итерацию, и вам не требуются сложные шаги итерации. Вы не могли бы использовать расширенный for
для перемещения назад в массиве или только для итерации на каждом другом элементе.
Вы гарантированно не исчерпали элементы для повторения при этом, а ваш [исправленный] пример легко конвертируется.
Код ниже:
String[] name = {"tom", "dick", "harry"};
for(int i = 0; i< name.length; i++) {
System.out.print(name[i] + "\n");
}
... эквивалентен этому:
String[] name = {"tom", "dick", "harry"};
for(String firstName : name) {
System.out.println(firstName + "\n");
}
Просто добавьте этот код под кодом JS.
var autoslideIndex = 0;
autoSlides();
function autoSlides() {
var i;
var slides= document.getElementsByClassName("mySlides");
var dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
autoslideIndex++;
if (autoslideIndex > slides.length) {autoslideIndex = 1}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[autoslideIndex-1].style.display = "block";
dots[autoslideIndex-1].className += " active";
setTimeout(autoSlides, 2000); // Change image every 2 seconds
}