JavaScript. Подробное руководство, 6-е издание (Флэнаган) - страница 10

Функция - это именованный и параметризованный блок программного кода JavaScript, который определяется один раз, а использоваться может многократно. Формальное знакомство с функциями мы отложим до главы 8 «Функции», однако, как и в случае с объектами и массивами, мы много раз встретимся с функциями, прежде чем доберемся до этой главы. Ниже приводятся несколько примеров простых функций:


>// Функции - это параметризованные блоки программного кода JavaScript,

>// которые можно вызывать многократно.

>function plus1(x) { // Определить функцию с именем "plusr и с параметром "х"

>  return х+1;       // Вернуть значение на 1 больше полученного

>}                   // Функции заключаются в фигурные скобки


>plus1(y) // => 4: у имеет значение 3, поэтому этот вызов вернет 3+1


>var square = function(x) { // Функции можно присваивать переменным

>  return х*х;              // Вычислить значение функции

>};                         // Точка с запятой отмечает конец присваивания.


>square(plus1(y))           // => 16: вызов двух функций в одном выражении


При объединении функций с объектами получаются методы.


>// Функции, присвоенные свойствам объектов, называются методами.

>// Все объекты в JavaScript имеют методы:

>var а = [];    // Создать пустой массив

>а.push(1,2,3); // Метод push() добавляет элементы в массив

>a.reverse();   // Другой метод: переставляет элементы в обратном порядке


>// Можно определять собственные методы. Ключевое слово "this" ссылается на объект,

>// в котором определен метод: в данном случае на массив points,

>points.dist = function() { // Метод вычисления расстояния между точками

>var р1 = this[0];      // Первый элемент массива, относительно которого вызван метод

>var р2 = this[1];      // Второй элемент объекта "this"

>var а = р2.х-р1.х;     // Разность координат X

>var b = р2.у-р1.у;     // Разность координат Y

>return Math.sqrt(a*a + // Теорема Пифагора

>                 b*b); // Math.sqrtO вычисляет корень квадратный

>};

>points.dist() // => 1.414: расстояние между 2-мя точками


Теперь, как было обещано, рассмотрим несколько функций, которые демонстрируют применение наиболее часто используемых управляющих инструкций JavaScript:


>// В JavaScript имеются условные инструкции и инструкции циклов, синтаксически

>// похожие на аналогичные инструкции С, C++, Java и в других языках.

>function abs(x) {  // Функция, вычисляющая абсолютное значение

>  if (х >= 0) {    // Инструкция if ...

>    return х;      // выполняет этот код, если сравнение дает true.

>  }                // Конец предложения if.

>  else {           // Необязательное предложение else выполняет свой код,