Функции

Часто выполняемые типовые операции удобно оформлять в виде функций. Функции не только позволяют сократить размер кода, но и делают программу более понятной, облегчают ее дальнейшую модификацию.

Помимо функций, определяемых пользователем, JavaScript поддерживает ряд стандартных функций, а также множество функций, реализованных как методы: математические функции (методы объекта Math), операции по обработке строк (методы объекта String) и др.

function
Синтаксис:

function имя_функции ( [аргумент [,...,аргумент] ] ) 
{
 операторы; // тело функции  
}

Действие
Эта конструкция языка задает функцию с именем имя_функции. (Имена функций подчиняются тем же правилам, что и имена переменных. В частности, качестве имени функции нельзя использовать зарезервированные ключевые слова.)

Фактическое выполнение операторов функции происходит, когда в JavaScript-программе встречается вызов функции:

имя_функции ( [выражение [,...,выражение] ] ) 
Если в теле функции есть оператор возврата вида return выражение, то при выполнении этого оператора выражение вычисляется, и его значение считается значением функции. Вызов такой функции можно использовать в правой части оператора присваивания (например, a=f(b);) и в составе выражений (например, a=f(b)+c-f(d);).

Если же оператор возврата в теле функции отсутствует (или имеет вид return), то в результате вызова функции ее значение определено не будет. Такие функции-подпрограммы можно лишь вызывать отдельными операторами:
f(a); f(b); f(c);

Пример: функция isPrime проверяет, является ли n простым числом.

function isPrime(n) {
 if (n < 2)  return false; // n<2 не может быть простым
 if (n%1!=0) return false; // n не целое
 if (n==2)   return true;  // 2 - простое число
 if (n%2==0) return false; // прочие четные n - не простые

 var m = Math.sqrt(n);
 for (var i=3; i<=m; i+=2) {
  if (n%i==0) return false;
 }
 return true;
}

Copyright © 1999, Alexei Kourbatov