![]() |
||
|
aranea.ru || JavaScript - Введение | Функции JavaScript
Функции JavaScript.Что такое функция?Функции JavaScript выполняют действия. Они могут возвращать результат. Результат может быть расчетами или сравнениями. Функции комбинируют несколько операций под одним именем. Это позволяет вам ускорять вашу программу. Вы можете написать набор выражений, назвать их и затем выполнить этот набор в любое время, когда вы захотите, только одним вызовом и предоставлением необходимой информации. Вы передаете информацию функции, заключая информацию в скобки после имени функции. Часть информации, которая передается функции, называется аргументами или параметрами. Некоторые функции не имеют аргументы; часть функций принимает один аргумент, некоторые – несколько. Есть даже функции, для которых количество аргументов зависит от того, как вы используете функцию. JavaScript поддерживает два типа функций: встроенные в язык и созданные вами. Встроенные функцииЯзык JavaScript включает несколько встроенных функций. Некоторые позволяют вам манипулировать выражениями и специальными символами, а также конвертировать строки в числовые значения. Например, escape() и unescape() используются для конвертирования символов, которые имеют специальное значение в коде HTML, символы, которые вы не можете поместить непосредственно в текст. Например, угловые скобки "<" и ">", которые включают теги HTML. Функция escape принимает, как аргумент любой специальный символ, и возвращает код символа. Каждый код состоит из знака процента (%) и двух цифр. Функция unescape действует наоборот. Она принимает, как аргумент строку из знака процента и двух цифр, и возвращает символ. Другая полезная встроенная функция – это eval(), которая оценивает любое математическое выражение, которое представлено строковой формой. Функция eval() принимает один аргумент, выражение, которое будет оцениваться. var anExpression = "6 * 9 % 7"; var total = eval(anExpression); // Присваивает значение 5 к переменной total. var yetAnotherExpression = "6 * (9 % 7)"; total = eval(yetAnotherExpression) // Присваивает значение 12 переменной total. var totality = eval("...surrounded by acres of clams."); // Генерирует ошибку. Создание своих собственных функцийВы можете создать ваши собственные функции и использовать их, когда необходимо. Определение функции состоит из выражения функции и блока выражений JavaScript. Функция checkTriplet в следующем примере принимает аргументы: длины сторон треугольника, и подсчитывает на их основании, является ли треугольник прямоугольным при проверке, составляют ли три числа уравнение Пифагора. (Квадрат длины гипотенузы прямоугольного треугольника равен сумме квадратов длин двух других сторон). Функция checkTriplet вызывает одну из двух других функций для выполнения фактической проверки. Обратите внимание на использование очень маленького числа ("epsilon"), как тестирующей переменной в тесте для плавающей запятой. Из-за неопределенности и накопленных ошибок в расчетах с плавающей точкой, не практично делать прямой тест, так как квадрат гипотенузы равен сумме квадратов двух других сторон, когда все три значения не являются целыми. Так как прямой тест является более точным, код в примере определяет, являются ли числа целыми, и если да, то использует функцию. var epsilon = 0.0000000000001; // Очень маленькое число для проверки. var triplet = false; function integerCheck(a, b, c) { // Проверочная функция для целых чисел. if ( (a*a) == ((b*b) + (c*c)) ) { // Сам тест. triplet = true; } } // Конец функции проверки целых чисел. function floatCheck(a, b, c) { // Функция проверки для чисел с плавающей запятой. var theCheck = ((a*a) - ((b*b) + (c*c))) // Получение тестируемого числа. if (theCheck < 0) { // Проверка требует абсолютного значения, инвертируем theCheck, если она отрицательная. theCheck *= -1; } if (epsilon > theCheck) { // Проверка. triplet = true; } } // Окончание проверяющей функции для чисел с плавающей запятой. function checkTriplet(a, b, c) { // Проверка триплета. Сначала, перемещает самую длинную сторону в положение "a". var d = 0; // Создает временную промежуточную переменную. if (c > b) { // Если c > b, swap them. d = c; c = b; b = d; } // If not, ignore them. if (b > a) { // If b > a, переставить их. d = b; b = a; a = d; } // Если нет, то игнорировать их. // Теперь сторона "a" гипотенуза, если она есть. if (((a%1) == 0) && ((b%1) == 0) && ((c%1) == 0)) { // Тестируем все 3 значения. Являются ли они целыми? integerCheck(a, b, c); // Если это так, то использовать точную проверку. } else floatCheck(a, b, c); // Если нет, то получить как можно более точный результат. } // Закончить функцию проверки триплета. // Следующие три предложения присваивают примерные значения в целях проверки. var sideA = 5; var sideB = 5; var sideC = Math.sqrt(50); checkTriplet(sideA, sideB, sideC); // Вызов функции. После вызова, триплет содержит результат. |