Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет.указание_Web-программирование_ПОАС.doc
Скачиваний:
85
Добавлен:
26.02.2016
Размер:
548.86 Кб
Скачать

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...

}