5.7. Функции

Формат объявления функции выглядит следующим образом:

function имя функции ([ параметры]) тело функции

Объявление функции начинается с ключевого слова function. Так же, как и в языке С для идентификации функции используется имя, при вызове функции могут передаваться параметры, а по окончании выполнения возвращаться значение. Однако, в отличие от С, тип возвращаемого значения и типы параметров не задаются. Ниже показаны два способа вызова функции

имя_функции ([параметры]);

переменная = имя функции ([параметры]);

Во втором случае значение, возвращаемое функцией, присваивается указанной переменной.

Область видимости переменных

Работа с переменными в теле функции подчиняется следующим правилам.

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

Переменная, объявленная внутри функции, считается локальной. Область видимости такой переменной ограничивается телом функции, в которой она объявлена.

Переменная, объявленная вне функции, считается глобальной. К ней можно обращаться из любой точки сценария.

Если локальная и глобальная переменные имеют одинаковые имена, то в теле функции локальная переменная "маскирует" глобальную.

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