State
Операторы
В этом разделе мы рассмотрим основные операторы JavaScript. Основное внимание при этом мы уделим операторам декларирования и управления потоком вычислений. Без них не может быть написана ни одна JavaScript программа.
Общий перечень этих операторов выглядит следующим образом:
Сразу оговоримся, что этот список не является полным списком операторов JavaScript.
var
Оператор var служит для объявления переменной. При этом переменная может принимать значения любого из разрешенных типов данных. На практике довольно часто обходятся без явного использования var. Переменная соответствующего типа создается путем простого присваивания:
var a;
var a=10;
var a = new Array();
var a = new Image();
Все выше перечисленные примеры использования var верны и могут быть применены в JavaScript программе. Область действия переменной определяется блоком (составным оператором), в котором используется переменная. Максимальная область действия переменной - страница.
начало страницы
{...}
Фигурные скобки определяют составной оператор JavaScript - блок. Они одновременно ограничивают область действия переменных, которые определены внутри этих скобок. За пределами блока переменные не видны:
{
var kuku=0;
}
Основное назначение блока - определение тела цикла и тела условного оператора.
начало страницы
if
Условный оператор применяется для ветвления программы по некоторому логическому условию. Общий синтаксис:
if(логическое выражение) оператор1; [else оператор2;]
Логическое выражение - это выражение, которое принимает значение true или false. Если оно равно true, то оператор1 исполняется. В квадратных скобках необязательная составляющая оператора if - альтернатива основной ветви вычислений:
if(navigator.appName=="Netscape")
{
window.location.href=http://kuku.ru/netscape.htm;
}
else
{
window.location.href=http://kuku.ru/explorer.htm;
}
Примеры использования условного оператора можно найти, например, в разделе "Тип браузера".
начало страницы
while
Оператор while определяет цикл. Определяется он в общем случае следующим образом:
while(логическое выражение)
оператор;
Оператор, в том числе и составной, - тело цикла. Тело исполняется до тех пор, пока верно логическое условие:
while(flag==0)
{
id=setTimeout("test();",500);
}
Обычно цикл этого типа применяют при выполнении периодических действий до некоторого события.
начало страницы
for
Оператор for - это еще один оператор цикла. В общем случае он имеет вид:
for(инициализация переменных цикла;условие;модификация переменных цикла)
оператор;
Оператор в теле цикла может быть блоком. Рассмотрим типовой пример использования этого оператора:
for(i=0;i<document.links.length;i++)
{
document.write(document.links[i].href+"<br>");
}
for(i=0;i");
}
Примеры подобного сорта разбросаны по всем разделам курса. Один из них расположен в разделе "Изменение картинки".
начало страницы
for ... in
Данный оператор позволяет "пробежаться" по свойствам объекта. Рассмотрим пример:
for(v in window.document)
{
document.write(v+"<br>");
}
Все свойства текущего объекта документ:
for(v in window.document)
{
document.write(v+":"+eval('document.'+v)+"
");
}
Данный документ состоит из нескольких разделов. Обращение "window.document" позволяет обратиться к общему документу, а не к отдельно взятому разделу. Поэтому распечатанные свойства - это свойства всего документа.
начало страницы
break
Оператор break позволяет досрочно покинуть тело цикла. Распечатаем только title документа:
for(v in window.document)
if(v=="title")
{
document.write(v+":"+eval('document.'+v)+"
");
break;
}
for(v in window.document)
if(v=="title")
{
document.write("Результат:
");
document.write(v+":"+eval('document.'+v)+"
");
break;
}
В пример распечатки свойств объекта document мы вставили break при просмотре свойства title и получили искомый результат.
начало страницы
continue
Тот же самый результат, что и при использовании break можно было бы достичь при помощи оператора continue:
for(v in window.document)
{
if(v!="title") continue;
document.write(v+":"+eval('document.'+v));
break;
}
for(v in window.document)
{
if(v!="title") continue;
document.write("Результат:
");
document.write(v+":"+eval('document.'+v)+"
");
break;
}
Этот оператор позволяет пропустить часть тела цикла (от оператора до конца тела) и перейти к новой итерации. Таким образом, мы просто пропускаем все свойства до title и после этого выходим из цикла.
начало страницы
Оператор return используют для возврата значения из функции или обработчика события(см. разделы "Поле статуса" "Обмен данными"). Рассмотрим пример:
<form>
<input type=submit value=Submit onClick="return false;">
</form>
В данном примере return используется для маскирования передачи данных на сервер.