Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования javascript 16.02.12.doc
Скачиваний:
7
Добавлен:
31.08.2019
Размер:
2.86 Mб
Скачать

Оператор break

Оператор прерывает текущий цикл for и while, передавая управление первому оператору после цикла.

Применение оператора

Следующий пример добавляет элемент к форме в предположении, что все элементы содержат числовые значения. Если встречается значение "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 поддерживает следующий стиль комментариев:

Однострочные комментарии начинаются с символа (//).

Многострочные комментарии начинаются /* и заканчиваются */.

Примеры

Комментарии пишутся так же как в Java

// Эта форма комментария // действует только на одну строку, // то есть на каждой новой строке // нужно выставлять знак комментария.

А это уже код скрипта...

/* А эта форма комментария действует на сколько угодно строк до тех пор, пока не натолкнётся на закрывающий значок, зеркально отражающий начальный. */

А теперь опять код скрипта...

Не путайте комментарии HTML и комментарии JavaScript! Это разные языки.

Оператор continue

Передает управление оператору проверки истинности условия в цикле while и оператору обновления значения счетчика в цикле for. Важное отличие от оператора break заключается в том, что оператор continue не прерывает цикл, а делает следующее.

В цикле while, это переходит назад к условию.

В цикле for, это переходит к модернизированному выражению.

Следующий пример демонстрирует цикл while, содержащий оператор continue, который выполняется, когда переменная i равна 3.

i = 0;

n = 0;

while (i<5) {

i ++;

if (i == 3)

continue;

n + = i

}

Оператор do..while

Задает цикл с проверкой условия после каждой итерации

Синтаксис

do

statement

while (condition)

Аргументы

statement - Блок или вызов javascript, который будет выполняться, пока верно условие condition

condition - Выражение будет вычислено каждый раз во время цикла. Если оно верно, statement будет выполнено еще раз, если нет - контроль пойдет на операторы после do..while

Описание, примеры

В следующем примере оператор do..while выполнится хотя бы один раз и продолжит выполняться, пока i<5.

i = ...

do {

i += 1;

document.write(i);

} while (i < 5)

Оператор for

Создает цикл с тремя необязательными выражениями, заключенными в круглых скобках и разделенными точкой с запятой, сопровождаемыми блоками утверждений, выполненных внутри цикле:

for (initialExpression; condition; updateExpression)

{

...строки кода...

}

где

Выражение initialExpression используеться для инициализации переменной счетчика, которую можно создать с помощью оператора var. Это выражение необязательно.

Выражение condition, которое вычисляется на каждом проходе через цикл. Если это условие истинно, то выполняются условия внутри цикла. Это условие необязательно. Если оно опущено, то условие всегда считается равным истинному, тогда цикл продолжается до ошибки или до оператора break.

Выражение updateExpression, вообще используется для изменения значения переменной счетчика. Оно тоже является необязательным. В этом случае можно обновлять значение переменной счетчика внутри цикла.

Примеры

Оператор for создает цикл ,продолжающийся до тех пор пока переменная счетчика i меньше чем девять, увеличиваю i на однин после каждого прохода через цикл.

for (var i = 0; i < 9; i++)

{

n += i

myfunc(n)

}

Следующий пример создает цикл for, продолжающийся до наступления ошибки или выполнения оператора break. Переменная счетчика увеличивается на при каждом проходе цикла:

for (var i = 0; ; i+=2)

{

...строки кода...

}

Продемонстрируем пример, который представляет цикл, не обновляющий счетчик. Если счетчик нигде не будет обновлен в теле цикла, его значение так и останется равным 0:

for (var i = 0; i < 10;)

{

...строки кода...

}

Пример. Нахождение простых чисел в интервале от 2 до 100

<html>

<body>

<script type="text/javascript">

<!--

var b=true;

for(var i=3; i<100; i++)

{

for(var j=2; j<i; j++)

{

if(i%j==0){b=false;break;}

else b=true;

}

if(b) document.writeln("<pre>"+i+"</pre>");

}

// -->

</script>

</body>

</html>

Оператор for...in

Присваевает переменной поочередно все свойства объекта. Для каждого свойства цикл for...in выполняет операторы, содержащиеся в теле цикла. Синтаксис

for (property in object)

{

...statements...

}

Цикл for...in является полезным средством для отладки благодаря своей способности вывести на экран все свойства объекта в одном цикле.

Аргументы

property - Переменная, которой последовательно присваиваются названия свойств объекта. Может быть объявлена при помощи var, но не будет при этом локальной для цикла

object - Объект, свойства которого перебираются

statement - Блок или javascript-вызов для вызова на каждой итерации

Описание, примеры

Конструкция for..in - единственный в javascript способ перебрать все свойства объекта.

var a = {

p1: 1,

p2: 2

}

for(var p in a) {

alert(p); // p1, затем p2

// к значению каждого свойства прибавить 1

a[p] = a[p] + 1;

}

Большинство свойств встроенных объектов javascript перебираться в цикле for..in не будут, так как помечены специальным внутренним флагом DontEnum. Этот флаг нельзя получить или поменять.

Пример: встроенное свойство toString

// объявим объект

var a = {

p1: 1

}

// у него есть свойство toString

alert(a.toString)

// унаследованное от Object.prototype

alert(a.toString === Object.prototype.toString) // true

for(p in a) {

// в этом цикле свойства toString не будет

alert("Property name:"+p+" value:"+a[p])

}

Порядок перечисления свойств не определен. Поэтому, если во время итерации добавить свойство к объекту - цикл может по нему пройти позже или не пройти никогда, в зависимости от того, куда это новое свойство встанет во внутренней хэш-таблице интерпретатора javascript.

При удалении свойства во время итерации - если цикл по нему еще не прошел, то он не пройдет в дальнейшем.