
- •Web программирование
- •231000.62 – “Программная инженерия”
- •Содержание
- •Введение
- •Дисциплина web программирование имеет целью обучить студентов разработке web - приложений, дать студентам теоретические знания и практические навыки в проектировании и реализации web-сайтов.
- •1. Протоколы и модели Internet-взаимодействия
- •1.1. Протоколы
- •1.2. Модель клиент-сервер
- •1.3. Формат описания адреса
- •2. Статическое web – программирование
- •2.1. Структура html-документа
- •2.2. Работа с текстом
- •2.3. Работа с таблицами
- •2.4. Работа с формами
- •2.5. Работа с фреймами
- •3. Каскадные таблицы стилей (css)
- •3.1. Синтаксис css
- •3.2. Использование css
- •3.3. Свойства css
- •4. Язык xml
- •4.1. Структура xml-документа
- •4.2. Правила создания xml-документа
- •4.3. Конструкции языка xml
- •4.3.1. Элементы данных
- •4.3.2. Комментарии
- •4.3.3. Атрибуты
- •4.3.4. Cпециальные символы
- •4.3.5. Директивы анализатора
- •4.3.6. Cdata
- •5. JavaScript сценарии
- •5.1. Клиентские и серверные сценарии
- •5.2. Операторы и функции JavaScript
- •5.3. Встроенные объекты JavaScript
- •5.4. Динамический html
- •5.5. Ajax технология
- •6. Работа с субд MySql
- •6.1. Особенности
- •6.2. Основные команды
- •7. Php. Динамическое web-программирование
- •7.1. Особенности
- •7.2. Php и объектно-ориентированное программирование
- •8. Проектирование полнофункциональных web-сайтов
- •8.1. Виды сайтов
- •8.2. Этапы проектирования web-сайтов
- •9. Задания для выполнения лабораторных работ
- •Последовательность выполнения задания
- •9.2. Задания для выполнения лабораторной работы №2 «Разработка сайта, содержащего карту-изображение с заданными активными зонами»
- •Варианты
- •Последовательность выполнения задания
- •9.3. Задания для выполнения лабораторной работы №3 «Разработка сайта, содержащего таблицы»
- •Варианты
- •9.4. Задания для выполнения лабораторной работы №4 «Разработка сайта “Электронный тест проверки знаний студентов изучаемых дисциплин”»
- •Варианты
- •Последовательность выполнения задания
- •9.5. Задания для выполнения лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •Варианты
- •Последовательность выполнения задания
- •9.6. Задания для выполнения лабораторной работы №6 «JavaScript. Горизонтальное и вертикальное меню»
- •Варианты
- •Последовательность выполнения задания
- •2.1 Горизонтальное меню
- •2.2 Вертикальное выпадающее меню
- •2.3 Вертикальное раскрывающееся меню
- •9.7. Задания для выполнения лабораторной работы №7
- •2. Ход работы
- •9.8. Задания для выполнения лабораторной работы №8 «Динамическая поддержка выбора значений из предлагаемого списка»
- •Варианты
- •Последовательность выполнения задания
- •9.9. Задания для выполнения лабораторной работы№9 «MySql. Проектирование базы данных и обеспечение прав доступа»
- •Варианты
- •Последовательность выполнения задания
- •9.10. Задания для выполнения лабораторной работы№10 «Разработка интернет-магазина»
- •Варианты
- •Последовательность выполнения задания
- •10. Контрольная работа
- •10.1. Назначение, цели и задачи контрольной работы
- •10.2. Требования к контрольной работе
- •10.3. Варианты заданий курсовой работы
- •11. Пример программы «Создание динамического эффекта» к выполнению лабораторной работы №5 «Разработка сайта с динамическими эффектами»
- •11.1. Плавное появление и исчезновение текста
- •11.2. Текст, движущийся на наблюдателя
- •11.3. Создание бегущих строк
- •11.4. Волнообразнодвижущийся текст
- •10.5. Текст, прилетающий по частям
- •10.6. Имитация движения текста по кругу в 3 d пространстве
- •10.7. Движение фонового рисунка страницы («летящие звезды», «эффект фейерверка», «падающий снег», «часы со стрелками»)
- •Заключение
- •Список литературных первоисточников
- •231000.62 – «Программная инженерия»
конфиденциально
корректировки
студентов
5.2. Операторы и функции JavaScript
Операторы служат для управления потоком команд в JavaScript.
В JavaScriptиспользуются следующие операторы:break,comment,continue, for, for...in, function, if...else, return, var, while, with.
Оператор break прерывает цикл for и while, передавая управление первому оператору после цикла. В листинге 2.8 приведен пример применения оператора break.
Листинг 2.8 Добавление элемента к форме в предположении, что все элементы содержат числовые значения. Если встречается значение "0", цикл прекращается.
function CheckValues(form){
var total
for (I=0; I<=form.elements.length; I++){
if (element[I].value="0"){
break;}
else{
total +=I;
document.write("Текущая строка: "+total);}
}
return total
}
Оператор comment – комментарии. Комментарии - это специальные замечания программиста, чтобы объяснить, что делает данный скрипт, и они игнорируются интерпретатором. JavaScript поддерживает следующий стиль комментариев:
- Однострочные комментарии начинаются с символа (//).
- Многострочные комментарии начинаются /* и заканчиваются */.
Оператор continue передает управление оператору проверки истенности условия в цикле while и оператору обнавления значения счетчика в цикле for. Важное отличее от оператора break заключается в том, что оператор continue не прерывает цикл, а делает следующее.
В цикле while, это переходит назад к условию.
В цикле for, это переходит к модернизированному выражению.
В листингах 2.9 и 2.10 приведены примеры применения оператора continue.
Листинг 2.9 Оператор continue
i= 0
n= 0
while(i<5) {
I++,if(i== 3)
continuen+ =i
}
Листинг 2.10 добавление элемента к форме в предположении, что все элементы содержат числовые значения. Если встречается отрицательное значение, оно не включается в итоговую сумму.
function CheckValues(form){
var total
for (I=0; I<=form.elements.length; I++){
if (element[I].value<0){
continue;}
else{
total +=I;
document.write("Текущая сумма: "+total);}
}
return total
}
Оператор for создает цикл с тремя необязательными выражениями, заключенными в круглых скобках и разделенными точкой с запятой, сопровождаемыми блоками утверждений, выполненных внутри цикле:
Например,
for (initialExpression;condition;updateExpression)
{
...строки кода...
}
где
Выражение initialExpression используеться для инициализации переменной счетчика, которую можно создоть с помощью оператора var. Это выражение необязательно.
Выражение condition, которое вычисляется на каждом проходе через цикл. Если это условие истинно, то выполняются условия внутри цикла. Это условие необязательно. Если оно опущено, то условие всегда считается равным истинному, тогда цикл продолжается до ошибки или до оператора break.
Выражение updateExpression, вообще используется для изменения значения переменной счетчика. Оно тоже является необязательным. В этом случае можно обновлять значение переменной счетчика внутри цикла.
В листинге 2.11 приведен пример оператора for
Листинг 2.11 Цикл for, продолжающийся пока переменная счетчика i меньше чем девять. Увеличиваю i на один после каждого прохода через цикл.
for(vari= 0;i< 9;i++)
{
n+=i
myfunc(n)
}
Оператор for...in - присваевает переменной поочередно все свойства объекта. Для каждого свойства цикл for...in выполняет операторы, содержащиеся в теле цикла:
Синтаксическое описание оператора
for(varinobj)
{
...statements...
}
Цикл for...in является полезным средством для отладки благодаря своей способности вывести на экран все свойства объекта в одном цикле.
В листинге 2.12 приведен пример оператора for…in
Листинг 2.12 Цикл for…in
fanction objectDisplay(obj) {
var displayLine;
for (var prop in obj) {
displayLine =obj.name+"."+prop+"="+obj[prop];
document.write(displayLine+"<BR>")
}
document.write("End of object"+obj.name)
}
Оператор function - объявляет функции языка JavaScript, требует указания имени name и списка параметров param. Для того чтобы возвращать значение, функция должна иметь в себе оператор return, который указывает возвращаемое функцией значение. Оператор функция вы не можете вложить в другую функцию. Принято следующее написание этого оператора:
Синтаксическое описание
function name([param] [, param] [..., param])
{
...statements...
}
В листинге 2.13 приведен пример оператора function
Листинг 2.13 Функция возвращает общую долларовую сумму продажи, когда дано число единиц, продаваемых изделий a, b, и c.
function calc_sales(units_a, units_b, units_c) {
return units_a*79 + units_b*129 + units_c*699}
Оператор if...else
Оператор if...else - это условный оператор, который выполняет первый набор утверждений, если значение condition истинно. В противном случае выполняет второй набор утверждений, заключенные в операторе else, если условие ложно. Если набор утверждений (statments), заключенные в фигурные скобки {} содержит один оператор, то скобки можно опустить. Условные операторы могут быть вложены друг в друга без ограничений.
Синтаксическое описание оператора if…else
if (condition) {
...statements...
}[else {
else
...statements...
}]
В листинге 2.14 приведен пример оператора if…else
Листинг 2.14 Функция преобразует значение минут текущего времени в двузначное число для использования в программе "Часы":
fanction makeMinutes() {
var minstring="";
var now = new Date();
var min = Date.getMinutes();
if (min<10) {
minstring+=":0"+min;}
else{
minstring+=":"+min;}
return minstring
}
Оператор return указывает значение, которое будет возвращено функцией.
Синтаксическое описание оператора return
return expression;
В листинге 2.15 приведен пример оператора return
Листинг 2.15 Функция возвращает квадрат ее аргумента, x, где x - это число:
function square( x ) {
return x * x
}
Оператор var объявляет переменную varname и дополнительно может присваевать ей значение. Имя переменной varname может быть любой идентификатор, и значение может быть любое выражение. Область действия переменных, является текущая функция или, если переменные, объявленные вне функции, то весь текущий документ.
Использование var вне функции необязательно; вы можете описать переменную, просто приписывая ей это значение. Однако, использование var необходимо в функциях, так как может быть глобальная переменная токого же имени.
Синтаксическое описание оператора var
var VariableName [= value] [..., VariableName [= value] ]
В листинге 2.16 приведен пример оператора var
Листинг 2.16 Переменная globalString используется в любой функции или скрипте текущего документа, а переменная localString видна только внутри функции bracket:
var globalString
function bracket(){
var localString="["+globalString+"]";
document.write(localString);
}
Оператор while - это оператор цикла, который повторяет цикл, пока значение condition есть истинно (true). Как только значение condition становится ложным (false), то управление переходит к первому оператору после фигурной скобки, закрывающей тело цикла while:
Синтаксическое описание оператора while
while (condition) {
...statment...
}
В листинге 2.17 приведен пример оператора while
Листинг 2.17 Проверка наличия в строке определенного символа и прекращение поиск по окончании перебора всех символов строки или после нахождения искомого символа.
var found=false
n=0
while (n<=searhcString.length II !found) {
if (searhcString.charAt[n]=="?")
found = true
else
n++;
}
Оператор with устанавливает объект по умолчанию для набора операторов. Любые ссылки на свойства без явного указания объекта предполагают объект по умолчанию. Заметьте, что круглые скобки требуются вокруг объекта.
Синтаксическое описание оператора with
with (object) {
...statment...
}