HTML, XHTML и CSS на 100%
Шрифт:
//Результат сравнения
document.write((3+i)>=8);
m2="строка1"
document.write("\nПеременная m1="+m1);
document.write(", переменная m2="+m2+"\n");
document.write("m1!=m2 – ");
document.write( m1!=m2);
m2="строка2"
document.write("\nПеременная m1="+m1+", переменная m2="+m2+"\n");
document.write("m1<=m2 – ");
document.write(m1<=m2);
m2="5"
document.write("\nПеременная i="+i+", переменная m2="+m2+"\n");
document.write("i==m2 – ");
document.write(i==m2);
document.write("\ni===m2 – ");
document.write( i===m2);
document.write("\ni===5 – ");
document.write(i===5);
</script>
</pre>
</body>
</html>
В
Рис. 11.11. Операции сравнения
Операции над строками
Как уже говорилось, строки можно сравнивать. Кроме того, строки можно объединять с помощью операции конкатенации (+), что мы уже не раз делали. Например:
S1="Здравствуй";
S2=",";
S3="Мир!";
S=S1+S2+" "+S3;
В итоге переменная S будет содержать строку «Здравствуй, Мир!».
Благодаря автоматическому приведению типов можно объединять числа и строки:
«год „+1984=“год 1984»
Логические операции
Логические операции позволяют комбинировать выражения, возвращающие логические величины. Язык JavaScript поддерживает три логические операции.
Операция логического И (&&) возвращает true, если только оба операнда истинны. Например, (1<7)&&(3>2). При этом сначала вычисляется левый операнд. Если он ложен, то второй операнд не вычисляется, что надо учитывать. Так, в строке (3<1)&&(i++<7) операция инкремента переменной i не произойдет.
Операция логического ИЛИ (||) возвращает true, если хотя бы один операнд истинен. Например, (2<3) || (1>2). При этом сначала вычисляется левый операнд. Если он истинен, то второй операнд не вычисляется.
Операция логического НЕ (!) является унарной и изменяет значение логической величины на обратное.
Условные операции
В JavaScript есть одна тернарная операция?:, которая позволяет присвоить значение переменной в зависимости от выполнения условия. Рассмотрим следующий пример:
var sign = (a>=0) ? «Положительное»: «Отрицательное»;
В зависимости от результата выражения до вопросительного знака переменная принимает одно из значений: если значение истинно, то вычисляется выражение до двоеточия, если ложно, то выражение, стоящее
Поразрядные операции
Очень редко в сценариях JavaScript используются поразрядные операции, позволяющие манипулировать числами на уровне битов. Различают поразрядные логические операции и поразрядные операции сдвига. Для хранения целочисленных значений в JavaScript выделяется 32 бита. Для демонстрации работы поразрядных операций лучше использовать двоичную систему (табл. 11.9 и 11.10).
Другие операции
Вы уже встречались с операцией typeof, которая возвращает строку с именем типа данных. В табл. 11.11 приведены результаты, возвращаемые этой операцией.
Кроме того, существуют операции, позволяющие обратиться к элементу какой-то структуры данных. При работе с элементами массива используется операция индексирования массива [], позволяющая обратиться к элементу массива:
myArray[5]=56
Для доступа к элементу объекта используется точка (.):
ИмяОбъекта.имяСвойства
11.4. Условия и циклы
Редко какая-либо программа или сценарий имеют линейный алгоритм. Обычно в ходе работы часто проверяются различные условия и в зависимости от результата принимаются какие-то решения. Для автоматизации работы в коде также используются циклы, которые позволяют намного снизить трудоемкость разработки.
Условные операторы
В процессе создания сценариев обычно требуется изменить порядок выполнения кода. В этом разделе рассматриваются механизмы ветвления, позволяющие выбирать одно из альтернативных действий в зависимости от условия.
Оператор if управляет последовательностью выполнения команд. Синтаксис этого оператора:
if (логическое выражение)
{
операторы
}