Передача параметров функциям

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

Давайте для примера напишем функцию, которая будет складывать два числа и выводить результат работы. В качестве параметров функции укажем переменные a и b

1
2
3
4
function f1(a,b) {
  var c=a+b;
  alert(c);
}

Для вызова функции нужно указать ее имя, а затем в скобках указать параметры. Параметры отделяются запятыми.

1
<button onclick="f1(4,5)">Жми</button>

Ну и живой пример работы фукнции.

function f1(a,b) {
  var c=a+b;
  alert (c);
}

See the Pen wazabz by Alex (@Asmodey) on CodePen.

Формальные и фактические параметры

Параметры, которые указываются при написании функции называются формальными, а те, которые передаются функции при вызове — фактическими.

Возникает вопрос, если число формальных и фактических параметров не совпадает. Если функция вызвана с большим числом фактических параметров, чем есть в формальном описании — то лишние параметры будут отброшены. Однако если при вызове функции указали меньшее число параметров чем их прописано внутри функции, то в результат работы функции будет сложно предсказуем, в большинстве случаев работа такой функции приведет к ошибке.

Фактические параметры указанные при вызове функции подставляются в порядке следования на место фактических.

Задание

Задание 1. Создайте функцию, которая при помощи параметров получает два значения, суммирует их и выводит на экран.

Задание 2. Создайте функцию, которая при помощи параметра получает число и возводит его в квадрат, показывает результат с помощью alert.

Задание 3. Создайте две кнопки, которые при помощи одной и той же функции закрашивают блок в зеленый и синий цвет. Значение цвета передается параметром.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *