#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), то будет явная ошибка, а не скрытая.
Комментариев нет:
Отправить комментарий