Операторы и логические операции в JavaScript

Логические операции:

&& логическое “и”
|| логическое “или”
! логическое “не”
== строго равно
!= строго не равно

Оператор if:

p_1_putin = “президент”;
p_2_eltsin = “президент”;

if(p_1_putin == p_2_eltsin) // !!! сравнение - двойное равно ==
{
echo(”и первый и второй - президенты!”);
}

tovar2 = “хлеб”;
tovar1 = “булка”;

if(tovar1 == tovar2) // !!! сравнение - двойное равно ==
{
echo “Товары одинаковые”;
}else
{
echo “Товары разные”;
}

avtobus = “11″;

if(avtobus == “11″ || avtobus == “17″) // автобус должен быть номер 11 или номер 17
{
echo(”вам повезло, здесь ходит ваш автобус!”);
}else{
echo(”Вам придется идти домой пешком…”);
}

Оператор for:

for (x=1;x<=4;++x)
{
document.write(x+” stroka<BR>”);
}

цикл распечатает четыре текстовых строки такого вида:
1 stroka
2 stroka
3 stroka
4 stroka

“x” в данном примере является переменной, изменяющей свое значение после каждой итерации цикла “++x” означает прибавить к текущему значению переменной единицу. Таким образом цикл в каждый свой проход проверяет значение переменной на соответсвие условию и прибавляет к этому значению единицу. Потом печатает одну строку, и опять проверяет на соответствие условию. И так до тех пор, пока условие не нарушится.

Как только “x” становится больше четырех (то есть “5″) - дальнейшее выполнение действий в фигурных скобках прекращается. То есть пятую строку цикл нам уже не распечатает.

Подвесить браузер пользователя? - легко!

for (x=1;x<=4000000000;++x)
{
document.write(”Hello!<BR>”);
}

Если вы запустите этот цикл - то ваш браузер зависнет. Он попытается распечатать на экране ни много ни мало - 4 миллиарда “Hello!”, поэтому будьте осторожны с нулями внутри цикла!

Но если опасность цикла с четырьмя миллиардами итераций еще очевидна невооруженным глазом (такое количество нулей настораживает), то ошибка в логике условия может погрузить ваш браузер в пучину бесконечных вычислений. Причем в отличие от предыдущей “ошибки”, наш следующий пример намного каверзнее, т.к. визуально начинающий программист не всегда может увидеть в нем опасность:

for (x=10;x>4;++x)
{
document.write(”Hello!<BR>”);
}

Попробуем проговорить словами все что делает цикл:

x = 10. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 11. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 12. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 13. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 14. Если x больше 4 - к x прибавляем 1, печатаем строку;
…….
x = 7923. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 7924. Если x больше 4 - к x прибавляем 1, печатаем строку;
x = 7925. Если x больше 4 - к x прибавляем 1, печатаем строку…

браузер зависает обычно при нескольких тысячах распечатываниях строки цикла…

Оставить ответ