Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Spec_Mov_3k_4k_Lect.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.46 Mб
Скачать

Операторы, операции и выражения

Операции и выражения. Допустимыми операциями, которые могут применяться в выражениях являются следующие: ?:, = и все составные операции присваивания, +, ++, -, --, *, /, %, ==, !=, !, >=, <=, >, <, &&, ||, все побитовые логические операции, сдвиговые операции и дополнительно операция беззнакового сдвига >>>. Смысл операций тот же, что и в языке С. В JavaScript по сравнению с С отсутствуют следующие операции: адресные, получения остатка от деления нацело, вычисления размера объекта.

Операторы. Операторы if, for, while, break, continue имеют тот же синтаксис, что и в языке С. Однако, для условного оператора и операторов цикла их действие определяется булевскими значениями true или false (эти же символы могут использоваться в выражениях в качестве констант). Так, условием завершения цикла является значение контролирующего выражения равное false. Оператор цикла имеет ещё одну, дополнительную форму for-in:

for(индекс in объект) оператор;

где индекс – переменная, последовательно, на каждом шаге цикла, приобретающая значения, являющиеся элементами структурного объекта (массива), оператор – любой оператор языка, в т.ч. составной. Т.о., данный оператор используется для организации цикла по свойствам структурных объектов.

Переменные. Переменные создаются либо с помощью оператора var вида:

var имя-переменной [= выражение-инициализации];

либо при непосредственном присвоении значений оператором присваивания. если var-выражение используется вне тела функции, то создается глобальная переменная, доступная во всей программе (с учетом смены страниц сайта, см. далее), иначе переменная локальна и доступна только из операторов в теле функции.

Пример

var a; // создается переменная имеющая начальное значение равное undefined

Время жизни пользовательских переменных связано с документом, котрый был открыт в окне и обработан скрипт, в нем содержащийся. При смене документа переменные уничтожаются, также как уничтожаются и локальные переменные функции при выполнении оператора return. Для продления времени жизни объектов, в том числе тех, на которые ссылаются переменные, можно:

  • создавать переменные в документах фреймового типа и в дальнейшем обращаться к ним с использованием имен фреймов и префиксов parent, top (см. Лекция 18),

  • использовать скрытые поля форм, если форма обновляется в новом окне (обеспечивается сервером),

  • использовать «ключики» (cookies), позволяющие сохранять имена некоторых свойств и их значения (эта возможность является аналогом записей в базах данных; «ключики» поддерживаются большинством броузеров).

Операторы this и with. Первый из указанных операторов применяется для устранения неоднозначности при обращении к различным свойствам объектов, в контексте которых выполняются те или иные программные фрагменты. Стандартная форма обращения к оператору: this.свойство. Если указано в программе просто this, то выполняется обращение к объекту в целом. Оператор with является аналогом оператора case-of языка Паскаль:

with (имя-объекта)

{

последовательность-операторов

}

Оператор позволяет непосредственно обращаться к методам и свойствам объекта без использования соответствующего префикса. Если адресуемое свойство или метод отсутствуют у объекта, то выполняется их поиск по иерархии объектов (см. Объектная модель документа).

Пример

……….

<script language=”JavaScript”>

<!--

var myVar = “Test1”;

function testFunc()

{

var myVar=”Test1”;

alert(“this.myVar:”+this.myVar);

alert(“myVar:”+myVar);

}

testFunc();

//-->

</script>

………..

В данном примере при загрузке документа начнется выполнение скрипта, заключающееся в вызове функции testFunc. Отобразятся последовательно 2 окна предупреждений, в первом из которых появится строка “this.myVar:Test1”, а во втором – “myVar:Test2”. Оператор this ссылается к оконному объекту, который содержит документ и его объекты, в т.ч. программу. Таким образом обеспечивается ссылка к глобальной переменной myVar. Обращение к этой переменной без применения оператора this позволяет обратиться к локальной переменной, декларированной в функции.

Пример

…………..

with(Math)

{

document.writeln(PI);

…………..

}

В этом примере выполняется обращение к методу writeln объекта document и к константе PI, которая является свойством предопределенного объекта языка Math. Данный объект содержит набор методов-математических функций и констант.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]