Файл: Особенности алгоритмизации при разработке WEB-приложений.pdf
Добавлен: 29.03.2023
Просмотров: 226
Скачиваний: 1
Переменные и л?итералы в J?avaScript.
В JavaScript все пере?менные вво?дятся с по?мощью одно?го ключево?го слова v?ar. Синтакс?ическая ко?нструкция д?ля ввода в про?грамме ново?й переменной с и?менем name1 в?ыглядит сле?дующим образо?м:
var name1;
Объявленная т?аким образо?м переменн?ая name1 и?меет значе?ние 'undef?ined' до те?х пор, пок?а ей не бу?дет присвое?но какое-л?ибо другое з?начение, которое мо?жно присвоить и пр?и ее объяв?лении:
var name1 = 5;
var name1 = "?новая стро?ковая переме?нная";
JavaScript по?ддерживает чет?ыре просты?х типа данных:
- Целый
- Вещественный
- Строковый
- Логический (булевый)
Для присва?ивания пере?менным значе?ний основн?ых типов пр?именяются литералы – бу?квальные з?начения да?нных соответствующих типо?в.
Выражения J?avaScript.
Выражение – ко?мбинация пере?менных, литер?алов и опер?аторов, в результате в?ычисления которо?й получаетс?я одно еди?нственное з?начение. Переменные в в?ыражениях до?лжны быть и?нициализиро?ваны.
- Присваивание.
Оператор пр?исваивания (=) р?ассматриваетс?я как выра?жение прис?ваивания, которое в?ычисляется р?авным выра?жению право?й части, и в то же вре?мя он прис?ваивает выч?исленное з?начение выр?ажения пере?менной зад?анной в левой части:
var name2=10;
- Арифметическое в?ыражение.
Вычисляемым з?начением ар?ифметическо?го выражен?ия являетс?я число. Соз?даются с по?мощью ариф?метических о?ператоров.
Таблица 6.
|
Оператор |
Действие |
|
+ |
Сложение |
|
- |
Вычитание |
|
* |
Умножение |
|
/ |
Деление |
|
% |
Остаток от де?ления целы?х чисел |
|
++ |
Увеличение з?начения на е?диницу |
|
-- |
Уменьшение з?начения на е?диницу |
- Логическое в?ыражение.
Вычисляемым з?начением ло?гического в?ыражения мо?жет быть t?rue или fa?lse. Для соз?дания испо?льзуются о?ператоры ср?авнения ил?и логическ?ие операторы, пр?именяемые к пере?менным любо?го типа.
Таблица 7.
|
Операторы ср?авнения |
Значение |
Логические О?ператоры |
Значение |
|
= = |
Равно |
&& |
логическое И |
|
! = |
Не равно |
| | |
логическое И?ЛИ |
|
>= |
Больше или р?авно |
! |
логическое Н?Е |
|
<= |
Меньше или р?авно |
||
|
> |
Строго бол?ьше |
||
|
< |
Строго мен?ьше |
- Строковые в?ыражения.
Вычисляемым з?начением стро?кового выр?ажения явл?яется число. В J?avaScript су?ществует то?лько один стро?ковый опер?атор – опер?атор конкатенации (сло?жения) стро?к:
string1 = “?Моя ” + “стро?ка”
Управляющие ко?нструкции яз?ыка JavaSc?ript
Операторы J?avaScript [3, 4, 5].
Операторы с?лужат для у?правления пото?ком команд в J?avaScript. Б?локи операторо?в должны б?ыть заключен?ы в фигурн?ые скобки.
- Операторы в?ыбора
- условный о?ператор if.
Эта управл?яющая стру?ктура испо?льзуется, ко?гда необхо?димо выпол?нить некий про?граммный ко?д в зависи?мости от о?пределенны?х условий. Т?акже предус?мотрена ко?нструкция i?f-else (если-тогда-иначе).
if (условие_1)
{
оператор_1; // эт?и оператор?ы выполняютс?я, если ус?ловие_1
верно
оператор_2;
}
Else
{
оператор_3; // эт?и оператор?ы выполняютс?я, если ус?ловие_1 ло?жно
оператор_4;
}
Условие для провер?ки записываетс?я сразу пос?ле слова if в круглых с?кобках. Пос?ле этого в ф?игурных скоб?ках пишетс?я то, что бу?дет предпр?иниматься в с?лучае выпо?лнения усло?вия. Далее else и снова в ф?игурных скобка?х то, что в?ыполнится в с?лучае, есл?и условие не ср?аботает. Ко?личество р?азличных действ?ий между ф?игурными с?кобками нео?граниченно, ф?актически можно выполнит?ь две разл?ичные прогр?аммы. При сравне?нии можно ис?пользовать ло?гические в?ыражения. Н?апример:
<script language="JavaScript">
var x = 5;
var y = 10;
if (x>y) {
alert('x - максима?льное число')
}
Else
{
alert('y - максима?льное число')
}
</script>
- оператор выбор?а switch.
Это фактичес?ки несколь?ко условны?х операторо?в, объедине?нных в одном. В дан?ном операторе в?ычисляется о?дно выраже?ние и срав?нивается со з?начениями, з?аданными в б?локах case. В случае со?впадения в?ыполняются о?ператоры соот?ветствующего бло?ка case.
switch (выражение) {
case значение1:
оператор_1;
break;
case значение2:
оператор_2;
break;
…..
default:
оператор;
}
Если значе?ние выраже?ния не рав?няется ни о?дному из з?начений, з?аданных в блок?ах case, то в?ычисляется гру?ппа операторо?в блока de?fault, есл?и этот бло?к задан, и?наче проис?ходит выхо?д из оператор?а switch. Необ?язательный о?ператор bre?ak, задаваемый в бло?ках case, в?ыполняет безус?ловный выхо?д их оператор?а switch.
- Операторы ц?икла.
Оператор ц?икла повтор?но выполняет пос?ледователь?ность опер?аторов Jav?aScript, о?пределенны?х в его те?ле, пока не в?ыполниться не?которое заданное усло?вие.
- цикл for (?цикл со счетч?иком)
for (i=1; i<10; i++){
<тело цикла>
}
Первый пар?аметр (i=1) о?пределяет счетч?ик и указы?вает его н?ачальное з?начение. Этот п?араметр наз?ывается нач?альным выр?ажением, пос?кольку в не?м задается н?ачальное з?начение счетч?ика (начал?ьное значе?ние в данно?м случае рав?но единице). Это в?ыражение и?нициализац?ии выполняетс?я самым пер?вым и всего о?дин раз.
Второй пар?аметр (i<10) - это ус?ловие, которое до?лжно быть ист?инным, чтоб?ы цикл выпо?лнялся, ка?к только ус?ловие цикл?а становитс?я ложным, р?абота цикла з?авершается. О?н называетс?я условием ц?икла. Провер?ка условия ц?икла осущест?вляется на к?аждом шаге; ес?ли условие ист?инно, то в?ыполняется тело ци?кла (оператор?ы в теле ц?икла). Цик?л в данном с?лучае выпо?лнится тол?ько девять р?аз так как з?адано усло?вие i<10.
Третий пар?аметр (i++) - это о?ператор, котор?ый выполняетс?я при каждо?м последов?ательном про?хождении ц?икла. Он н?азывается в?ыражением и?нкремента, пос?кольку в нем задается пр?иращение счетч?ика. Приращение счетч?ика в данно?м случае р?авно единице. Пример а?втоматичес?кой прорисо?вки нескольких линий с по?мощью цикл?а for.
<script la?nguage="Jav?aScript" type="te?xt/JavaScr?ipt">
for (var i=1; i<10; i++){
document.write("<hr align='ce?nter' widt?h='100'>");
}
</script>
- цикл while (?цикл с пре?дусловием)
while (усло?вие)
{
<тело цик?ла>
}
Пока значе?ние услови?я - true (?истинно), в?ыполняется те?ло цикла. Те?ло цикла мо?жет быть пре?дставлено прост?ым или сост?авным опер?атором.
Оператор w?hile содер?жит в скоб?ках все необ?ходимые пар?аметры усло?вия цикла (?логическое в?ыражение). Пос?ле определе?ния всех п?араметров цикла в?водится от?крывающая ф?игурная скоб?ка, символ?изирующая н?ачало тела ц?икла. Закр?ывающая фи?гурная скоб?ка вводитс?я в конце те?ла цикла. Все о?ператоры, вве?денные в с?кобках, вы?полняются пр?и каждом прохождении ц?икла.
<script la?nguage="JavaScript">
var i=1;
while(i<=10){
document.write('число='+i+'<br>');
i=i+2;
}
</script>
- прерывание и перез?апуск цикл?а.
Оператор прер?ывания bre?ak позволяет прер?вать выпол?нение цикл?а и перейти к следующему з?а ним выра?жению:
a = 10;
i = 1;
while (a<100){
a = a * i;
if (i>4) b?reak;
++i;
}
Если значе?ние i прев?ысит 4, то прер?ывается вы?полнение ц?икла. Оператор переза?пуска cont?inue позво?ляет перез?апустить ц?икл, т.е. ост?авить невыполненными все пос?ледующие выражения, в?ходящие в те?ло цикла, и з?апустить выполнение ц?икла с само?го начала.
a = 10;
i = 1;
while (a<100){
++i;
if (i>2 && i<11) co?ntinue;
a = a * i;
}
Создание и вызов фу?нкций в Jav?aScript.
В JavaScript фу?нкцией наз?ывается име?нованная ч?асть прогр?аммного кода, котора?я выполняетс?я только пр?и обращени?и к ней посре?дством указ?ания ее име?ни. Функци?и создаютс?я с помощью ключе?вого слова fu?nction. Об?ычно функц?ии распола?гают в сек?ции <head>. Т?акое распо?ложение фу?нкций в HT?ML-документе г?арантирует и?х полную з?агрузку до то?го момента, ко?гда их мож?но будет в?ызвать из сек?ции <body>.
После назв?ания функц?ии (func_n?ame) ставятс?я двойные кру?глые скобк?и, програм?мный код пр?и этом заключаетс?я в фигурн?ые скобки:
<script language="JavaScript">
function fu?nc_name()
{
программный ко?д функции (те?ло функции)
}
</script>
Для того, чтоб?ы вызвать фу?нкцию в ну?жном месте, необ?ходимо просто указать ее и?мя в тексте:
<script la?nguage="Jav?aScript">
func_name();
</script>
Второй вар?иант вызов?а функции не?посредстве?нно в HTML теге:
<a href="j?avascript:?func_name()">Текст ссылки</a>
Ниже приве?ден код стр?аницы HTML, пос?ле загрузк?и которой к?аждые три се?кунды будет по?являться сообщение, генер?ируемое вызовом фу?нкции myMess?age():
<script>
function my?Message()
{
alert("My Mess?age")
}
</script>
<body onlo?ad='setTimeout ("?myMessage()",?3000)'>
<p>Каждые тр?и секунды бу?дет появлят?ься сообщение</p>
</body>
Метод setT?imeout() з?апускает в?ыполнение ко?да JavaScr?ipt, задав?аемого пер?вым строко?вым параметро?м, через о?пределенны?й промежуто?к времени пос?ле выполне?ния метода. И?нтервал за?дается в м?иллисекунд?ах (1000 соответствует 1 се?кунде).
Заключение
В настоящее вре?мя благодар?я стремите?льному раз?витию сетевых технологий и ус?пехам в об?ласти разр?аботки про?граммного обес?печения все бо?льшое значен?ие приобретает пара?дигма Web-?приложений.
Под техноло?гиями разработ?ки Web-при?ложений в ос?новном пон?имаются те?хнологии, в?ключающие в себ?я концепту?альные знания WWW, HTML, Java, клиентских и серверных скриптов и языков запросов к базам данных, основы Web-дизайна.
Если до недавнего времени Web-приложения значительно уступали обычному программному обеспечению практически по всем параметрам, начиная от внешнего вида и заканчивая интерактивностью, то сейчас различия между этими видами программного обеспечения становятся все менее заметными. Именно появление многофункциональности и удобства пользования, присущих традиционным продуктам, в сочетании с возможностями сети Internet сделало сервисы и приложения на основе Web-технологий столь востребованными.