![](/user_photo/2706_HbeT2.jpg)
L4(function)по ПДС_2015
.pdf![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ41x1.jpg)
инструкции объявления
инструкция var
инструкция function
объявление функции
function имя_функции(параметр1, параметр2, ...){
/* набор инструкций с использованием параметров*/
return результат_выполнения_функции;
}
функция описывается в тексте программы отдельно один раз и вызывается, для использования, по имени многократно
выражение вызова функции
имя_функции(аргумент1, аргумент2, ...);
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ42x1.jpg)
function |
myBestFun |
var |
name3 |
function |
name1 |
var |
name4 |
function |
name2 |
инструкции объявления
инструкция var
инструкция function
перед выполнением скрипта интерпретатор вначале выполняет поиск и обработку объявлений переменных и функцийфункций – "подъем объявлений"
"подъем объявлений" позволяет использовать переменные и функции до их
объявления в сценарии
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ43x1.jpg)
функция - это блок программного кода на языке JavaScript, который определяется один раз и может выполняться, или вызываться, многократно.
При вызове функций им могут передаваться значения, аргументы, соответствующие их параметрам.
параметры - список идентификаторов, которые играют роль локальных переменных в теле функции.
объявление (определение) функции
function имя_функции(параметр1, параметр2, ...){
/* набор инструкций с использованием параметров*/
return результат_выполнения_функции;
}
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ44x1.jpg)
При вызове функций им могут передаваться значения, или аргументы, соответствующие их параметрам
... значения аргументов присваиваются
в порядке их следования именам параметров,
которые указаны в определении функции ...
имя_функции(аргумент1, аргумент2,...);
соответствие аргументов параметрам определяется номером позиции в списке
function имя_функции(параметр1, параметр2,...){...
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ45x1.jpg)
function myBestFun(p1,p2){
var rez;
rez = (p1+p2)/(2*p2)*(p1-p2);
return rez;
}
console.log(myBestFun(3, 11.4));// console <- -5.3053 var b = 1.2, m = 10, k = 5;
var c = myBestFun(2.5, b);// c = 2.0042
var n = 25 + myBestFun(m, k);// n = 32.5
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ46x1.jpg)
|
|
|
|
|
|
инструкции переходов |
|
Аргументы могут использоваться для |
инструкция break |
||||||
вычисления |
возвращаемого значения |
, |
|||||
инструкция continue |
|||||||
|
|
|
|
|
|
||
которое является |
значением |
|
|
||||
|
|
|
|||||
|
|
|
|
||||
выражения вызова функции. |
|
|
инструкция return |
return – определяет значение возвращаемое функцией
return возвращаемое_значение_выражения; function myBestFun(p1,p2){
|
return прерывает |
var rez; |
выполнение функции |
rez = (p1+p2)/(2*p2)*(p1-p2);
return rez;
}
функция всегда «что то» возвращает, даже при отсутствии инструкции return
при отсутствии return функция возвращает undefined
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ47x1.jpg)
Аргументы могут использоваться для вычисления возвращаемого значения, которое является значением выражения вызова функции.
вызов функции – инструкция-выражение
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ48x1.jpg)
логическое ИЛИ для значений аргументов по умолчанию
переменная = переменная || переменная || переменная
var m = 14; var l = 9;
var h = "new text"; var k = 0;
var g;// undefined
f = k || g || l || h || m;// f = 9 f = k || h;// f = "new text“
f = k || 15; // 15 - значение по умолчанию,
// если k не содержит необходимого значения
результат выполнения – присваивается (значение) ближайшая (слева на право) переменная эквивалентная истине, в противном случае (выражение эквивалентно - ложь) значение последней переменной
![](/html/2706/1210/html_F8R1MgyySd._cT2/htmlconvd-72YPaJ49x1.jpg)
var n;
function F(prm1, prm2, prm3){
var a = prm1 || 100; var b = prm2 || 50; var c = prm3 || 1;
return (a+b)*c+c;
}
console.log(F(4, 7, 10));// console <- 120 console.log(F(2, 1)); // console <- 4 console.log(F()); // console <- 151 console.log(F(n, 3, 5)); // console <- 520
глобальные и локальные
переменные