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