2016-04-21 2 views
-3

Я пытаюсь написать ползунок изображения в Javascript, я смотрел на примеры в Интернете и нашел этот специфический:Переменная Javascript, работающая без var?

function slider(){ 
var current = 0; 
slides = document.getElementsByClassName("images"); 
setInterval(function() { 
for (var i = 0; i < slides.length; i++) { 
    slides[i].style.opacity = 0; 
} 
current = (current != slides.length - 1) ? current + 1 : 0; 
slides[current].style.opacity = 1; 
}, 3000); 
} 
window.onload=slider; 

Я испытал это, и она работает без ошибок.

Мне интересно, почему переменная 'слайды' не объявлена ​​как 'var slides', когда я добавляю 'var', скрипт перестает работать. Не все переменные в Javascript начинаются с 'var'? почему это работает без «var»?

+2

Just [RTFM] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#Declaring_variables) – hindmost

+0

Это глобальная переменная тогда. –

+0

Это глобальная переменная –

ответ

0

Правильное объявление слайдов как var slides не нарушает эту функцию.

Выполните приведенный ниже пример.

function slider() { 
 
    var current = 0; 
 
    var slides = document.getElementsByClassName("images"); 
 
    setInterval(function() { 
 
     for (var i = 0; i < slides.length; i++) { 
 
      slides[i].style.opacity = 0; 
 
     } 
 
     current = (current != slides.length - 1) ? current + 1 : 0; 
 
     slides[current].style.opacity = 1; 
 
    }, 3000); 
 
} 
 
window.onload=slider;
<div class="images">image1</div> 
 
<div class="images">image2</div> 
 
<div class="images">image3</div>

Смежные вопросы