Теоретические основы программирования на JavaScript
Способы включения JavaScript – программ в тело HTML-документа 1. Внутри тега; 2. Во внешнем файле (сетевом ресурсе). 1. <!-- текст скрипта //--> 2.
Примеры размещения JavaScript <!-- document.write( "Hello!!!" ); //--> JavaScript script2. js document.write( "Hello!!!" );
JavaScript 1 <!-- document.write( "Hello!!!" ); //--> Этот браузер не поддерживает JavaScript
Совместное использование различных версий JavaScript- программ в теле одного HTML - документа Versions <!-- // текст программы для всех версий JavaScript //--> <!-- // текст программы для JavaScript1.1 //--> <!-- // текст программы для JavaScript1.2 //--> <!-- // текст программы для JavaScript1.3 //--> <!-- // текст программы для JavaScript1.3 //--> <!-- // текст программы для JavaScript1.3 //-->
Комментарии Строчный комментарий: // строка комментариев Блочный комментарий: /* текст комментариев */
Переменные: типы данных Целые числа; Вещественные числа (дробные); Символы; Строки символов; Объекты.
Декларация переменных var a, b var i=3 var pi=3.14 var ch=e var str=aaaaa
Арифметические операции Обозначение Операция +Сложение -Вычитание и унарный минус *Умножение /Деление %Модуль от целочисленного деления &Поразрядное И |Поразрядное ИЛИ ^Поразрядное исключающее ИЛИ <<Сдвиг влево >>Сдвиг вправо >>>Сдвиг вправо с заполненными нулями ~Побитовое деление (отрицание)
Логические операции Обозначение Операция ==Равно !=Не равно >Больше <Меньше >=>=Больше равно <=<=Меньше равно &&Логическое И (выражение считается истинным, если оба выражения истинны) ||Логическое ИЛИ (выражение считается истинным, если хотя бы одно из двух выражений истинно) !Логическое отрицание
Совмещение арифметических и логических операций с операцией присваивания Операция Комментарий a++Увеличить на единицу значение переменной a a--Уменьшить на единицу значение переменной a b += a Прибавить значение переменной a к значению переменной b и сохранить результат в переменной b b -= a Вычесть значение переменной a из значения переменной b и сохранить результат в переменной b b *= a Умножить значение переменной a на значение переменной b и сохранить результат в переменной b b /= a Разделить значение переменной b на значение переменной a и сохранить результат в переменной b b %=a Взять остаток от целочисленного деления значения переменной b на значение переменной a и сохранить результат в переменной b b <<= a Провести побитовый сдвиг влево значения переменной b на количество битов, определяемых переменной a, и сохранить результат в переменной b b >>= a Провести побитовый сдвиг вправо значения переменной b на количество битов, определяемых переменной a, и сохранить результат в переменной b b >>>= a Провести побитовый сдвиг вправо с заполнением нулями значения переменной b на количество битов, определяемых переменной a, и сохранить результат в переменной b b &= a Выполнить операцию «побитовое И» для значений переменных a и b и сохранить результат в переменной b b ^= a Выполнить операцию «исключающее побитовое ИЛИ» для значений переменных a и b и сохранить результат в переменной b b |= a Выполнить операцию «побитовое ИЛИ» для значений переменных a и b и сохранить результат в переменной b
Особенности использования арифметических операций ++ и -- --a и ++a – префиксная операция (приоритет: сначала арифметическая операция, затем – приравнивание полученного результата); a-- и a++ - постфиксная операция (приоритет: сначала приравнивание результата, затем – арифметическая операция).
Особенности использования арифметических операций ++ и -- <!-- var a = 100; document.writeln("a = " + a + " "); document.writeln("a++ = " + (a++) + " "); document.writeln("a = " + a + " "); document.writeln("++a = " + (++a) + " "); document.writeln("a = " + a + " "); document.writeln("a-- = " + (a--) + " "); document.writeln("a = " + a + " "); document.writeln("--a = " + (--a) + " "); document.writeln("a = " + a + " "); //-->
Влияние постфиксной и префиксной операции на результат выполнения условных операторов <!-- var a = 100; if((a++)==100) document.writeln("1.true" + " "); document.writeln("a = " + a + " "); if((++a)==102) document.writeln("2.true" + " "); document.writeln("a = " + a + " "); if((a--)==102) document.writeln("3.true" + " "); document.writeln("a = " + a + " "); if((--a)==100) document.writeln("4.true" + " "); document.writeln("a = " + a + " "); //-->
Операторы ветвления if (условие) { // первый_блок_операторов } else { // второй_блок_операторов }
Пример использования оператора условия if…else <!-- var a=10; if(a==10) document.writeln("a равно 10 "); else document.writeln("a не равно 10 "); if(a>5) document.writeln("a больше 5 "); if(a "); if(a>=7) document.writeln("a больше или равно 7 "); if(a "); if(a!=25) document.writeln("a не равно 25 "); //-->
Использование логических операций при записи условия в операторе if…else <!-- var a=5; if( (a>0)&&(a<10) ) document.writeln("a больше 0 и a меньше 10 "); if( (a 100) ) document.writeln("a меньше 10 или a больше 100 "); if( !((a 100)) ) document.writeln("a меньше или равно 10 и a больше "+" или равно 100 "); //-->
Использование логических значений true и false в операторе if…else <!-- var b = true; if(b) document.writeln("b равно true "); if(b==true) document.writeln("b равно true "); if(!b) document.writeln("b не равно true "); if(b!=true) document.writeln("b не равно true"); //-->
Использование вложенных конструкций с операторами if…else <!-- var a = 5, b = 10; if(a==5) if(b>10) document.write("a равно 5, b больше 10"); else document.write("a равно 5, b меньше или равно 10"); //-->
Использование вложенного оператора if…else как отдельного блока <!-- var a = 5, b = 10; if(a==5) { if(b>10) document.write("a равно 5, b больше 10"); else document.write("a равно 5, b меньше или равно 10"); } else document.write("a не равно 5"); //-->
Условная операция ? Результат = условие ? выражение 1 : выражение 2;
Использование условной операции ? <!-- var a = 5; document.write( (a==5) ? "a равно 5" : "a не равно 5" ); //-->
Оператор switch Switch (управляющее_выражение) { case значение_константы 1: оператор 1; break; case значение_константы 2: оператор 2; break; case значение_константы 3: оператор 3; break; … default : оператор 4; }
Пример использования оператора switch <!-- var a = 5; switch( a ) { case 1: document.write( "a равно 1"); break; case 2: document.write( "a равно 2"); break; case 3: document.write( "a равно 3"); break; default : document.write( "a не равно 1,2 и 3"); } //-->
Операторы цикла Цикл – синтаксическая конструкция, позволяющая многократно повторять выполнение одного или группы операторов.
Операторы цикла While – цикл выполняется, пока выполняется заданное условие; Do while – цикл выполняется, пока выполняется условие, но всегда выполняется не менее одного раза, независимо от исходного значения условия; For – цикл с заданным количеством итераций.
Операторы цикла Число повторений зависит от типа используемой конструкции и результатов проверки условия выполнения цикла. Прекращение выполнения цикла происходит в следующих случаях: 1. Перестало выполняться условие цикла. 2. В теле цикла был выполнен оператор break. 3. В теле цикла был выполнен оператор return. Continue – выполняется переход на начало цикла.
Оператор цикла while while (условие) { // блок операторов (тело цикла) }
Пример использования оператора цикла while <!-- var i=0; while ( i<3 ) { document.write( "i = " + i + " " ); i++; } //-->
Оператор цикла do…while do { // блок операторов (тело цикла) } while (условие)
Пример использования оператора цикла do…while <!-- var i=0; do { document.write( "i = " + i + " " ); i++; } while ( i<3 ); //-->
Оператор цикла for for (выражение 1; выражение 2; выражение 3 ) { // блок операторов (тело цикла) } выражение 1 while (выражение 2) { // блок операторов (тело цикла) // выражение 3 } Аналогично
Использование оператора цикла for <!-- var i=0; for( i=0; i<3; i++ ) { document.write( "i = " + i + " " ); } //--> <!-- for( var i=0; i<3; i++ ) { document.write( "i = " + i + " " ); } //-->
Оператор цикла for in for (переменная in объект ) { // блок операторов (тело цикла) }
Пример использования оператора цикла for in <!-- for(i in document) { document.write( i + " = " + document[i] + " " ); } //--> <!-- var mas = ["Sasha", "Masha", "Dasha"]; for(i in mas) { document.write( i + " = " + mas[i] + " " ); } //-->
Оператор break <!-- for( var i=0; i<10; i++ ) { if(i==7) break; document.write( "i = " + i + " " ); } //-->
Оператор continue <!-- for( var i=0; i<10; i++ ) { if((i==5)|| (i==7)) continue; document.write( "i = " + i + " " ); } //-->