Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Почему javascript цикл бесконечный?

#jquery #javascript


Есть простой цикл 
var menu = document.getElementById('menu');
var links = menu.getElementsByTagName('a');

function clickLink () {
    alert('Click');
    return false;
}  
for (var i=0; i < links.length; i++) {
     if(i=2){
        links[2].onclick = clickLink; 
     }
     //break; 
    }

Если дописать break, то скрипт работает, но если его нет, то цикл становиться бесконечным.
Почему это происходит.    


Ответы

Ответ 1



if(i == 2), иначе у вас идет присвоение значения переменной и цикл продолжается с 2.

Ответ 2



Специально для защиты от таких ошибок придуманы Yoda conditions: if (2 == i) Если вы ошибетесь и напишете if (2 = i), то будет явная ошибка, а не скрытая.

Комментариев нет:

Отправить комментарий