Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

5.3. Инструкции-объявления

Инструкции

var
и
function
являются инструкциями-объявлениями - они объявляют, или определяют, переменные и функции. Эти инструкции определяют идентификаторы (имена переменных и функций), которые могут использоваться повсюду в программе, и присваивают значения этим идентификаторам. Инструкции-объявления сами ничего особенного не делают, но, создавая переменные и функции, они в значительной степени определяют значение других инструкций в программе.

В

подразделах, следующих ниже, описываются инструкции
var
и
function
, но они не дают исчерпывающего описания переменных и функций. Более подробная информация о переменных приводится в разделах 3.9 и 3.10, а полное описание функций - в главе 8.

5.3.1. Инструкция var

Инструкция

var
позволяет явно объявить одну или несколько переменных. Инструкция имеет следующий синтаксис:

var имя_1 [ = значение_1] [ ..... имя_n [= значение_n]]

За ключевым словом var следует список объявляемых переменных через запятую; каждая переменная в списке может иметь специальное выражение-инициализатор, определяющее ее начальное значение. Например:

var і; // Одна простая переменная

var j = 0; // Одна переменная, одно значение

va гр, q; // Две переменные

var greeting = "hello" + name; // Сложный инициализатор

var х = 2.34, у = Math.cos(0.75), r, theta; // Множество переменных

var х = 2, у = х*х; // Вторая переменная использует первую

var х = 2, // Множество переменных...

f = function(x) { return х*х }, // каждая определяется

у = f(х); //в отдельной строке

Если инструкция var находится внутри тела функции, она определяет локальные переменные, видимые только внутри этой функции. При использовании в программном коде верхнего уровня инструкция

var
определяет глобальные переменные, видимые из любого места в программе. Как отмечалось в разделе 3.10.2, глобальные переменные являются свойствами глобального объекта. Однако, в отличие от других глобальных свойств, свойства, созданные с помощью инструкции
var
, нельзя удалить.

Если в инструкции

var
начальное значение переменной не указано, то переменная определяется, однако ее начальное значение остается неопределенным (
undefined
). Как описывалось в разделе 3.10.1, переменные определены во всем сценарии или в функции,
где они были объявлены, - их объявления «поднимаются» в начало сценария или функции. Однако инициализация переменной производится в той точке программы, где находится инструкция
var
, а до этого переменная имеет значение
undefined
.

Обратите внимание, что инструкция

var
может также являться частью циклов
for
и
for/in
. (Объявления этих переменных так же поднимаются в начало сценария или функции, как и объявления других переменных вне цикла.) Ниже повторно приводятся примеры из раздела 3.9:

for(var і = 0; і < 10; i++) console.log(i);

for(var і = 0, j=10; і < 10; i++,j--) console.log(і *j);

for(var і in o) console.log(i);

Отметьте также, что допускается несколько раз объявлять одну и ту же переменную.

5.3.2. Инструкция function

Ключевое слово

function
в языке JavaScript используется для определения функций. В разделе 4.3 мы уже встречались с выражением определения функции. Но функции можно также определять в форме инструкций. Взгляните на следующие две функции:

var f = function(x) { return x+1; } // Выражение присваивается переменной

function f(x) { return x+1; } // Инструкция включает имя переменной

Объявление функции в форме инструкции имеет следующий синтаксис:

function имя_функции([арг1 [,арг2 [..., аргn]]]) {

инструкции

}

Здесь имя_функции - это идентификатор, определяющий имя объявляемой функции. За именем функции следует заключенный в скобки список имен аргументов, разделенных запятыми. Эти идентификаторы могут использоваться в теле функции для ссылки на значения аргументов, переданных при вызове функции.

Тело функции состоит из произвольного числа JavaScript-инструкций, заключенных в фигурные скобки. Эти инструкции не выполняются при определении функции. Они просто связываются с новым объектом функции для выполнения при ее вызове. Обратите внимание, что фигурные скобки являются обязательной частью инструкции function. В отличие от блоков инструкций в циклах

while
и в других конструкциях, тело функции требует наличия фигурных скобок, даже если оно состоит только из одной инструкции.

Поделиться:
Популярные книги

Кодекс Охотника. Книга XXXII

Винокуров Юрий
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXII

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

Чехов книга 3

Гоблин (MeXXanik)
3. Адвокат Чехов
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Чехов книга 3

Моров. Том 5

Кощеев Владимир
4. Моров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Моров. Том 5

Наследие Маозари

Панежин Евгений
1. Наследие Маозари
Фантастика:
рпг
попаданцы
аниме
5.80
рейтинг книги
Наследие Маозари

Эйзенштейн

Шкловский Виктор Борисович
Жизнь в искусстве
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Эйзенштейн

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Ботаник

Щепетнов Евгений Владимирович
1. Ботаник
Фантастика:
фэнтези
боевая фантастика
4.56
рейтинг книги
Ботаник

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Кодекс Охотника. Книга IX

Винокуров Юрий
9. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга IX

Травница Его Драконейшества

Рель Кейлет
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Травница Его Драконейшества

Контртеррор

Валериев Игорь
6. Ермак
Фантастика:
альтернативная история
5.00
рейтинг книги
Контртеррор

Зодчий. Книга II

Погуляй Юрий Александрович
2. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга II