При вызове функции мы пишем ее имя и пустые круглые скобки:
func();
На самом деле скобки не обязательно должны быть пустыми - в них мы можем передавать параметры.
Пусть, к примеру, мы хотим сделать функцию, которая параметром будет принимать число и выводить на экран квадрат этого числа.
Как мы теперь будем вызывать нашу функцию: мы будем писать имя функции, круглые скобки, а в них - какое-то число, квадрат которого мы хотим получить.
К примеру, вот так мы получим квадрат числа
2
:
func(2); // выведет 4
А вот так - квадрат числа 3
:
func(3); // выведет 9
Давайте теперь напишем реализацию нашей функции.
Мы знаем, что функция параметром должна принимать число. Значит, при определении функции в круглых скобках мы должны написать какую-то переменную, в которую будет попадать переданное число.
Название переменной может быть любым, давайте,
например, назовем ее num
:
function func(num) {
}
В эту переменную num
при вызове функции
будет попадать указанное в круглых скобках число:
func(2); // в переменную num попадет число 2
func(3); // в переменную num попадет число 3
Давайте теперь сделаем так, чтобы наша функция
выводила квадрат переданного числа. Для этого
перемножим переменную num
саму на
себя и выведем алертом на экран:
function func(num) {
alert(num * num);
}
Проверим работу функции, вызвав ее с различными числами:
function func(num) {
alert(num * num);
}
func(2); // выведет 4
func(3); // выведет 9
Сделайте функцию, которая параметром принимает число и выводит на экран куб этого числа.
Сделайте функцию, которая параметром принимает
число и проверяет, положительное это число
или отрицательное. В первом случае пусть
функция выводит на экран текст '+++'
,
а во втором '---'
.
Несколько параметров
Функция может принимать не один параметр, а несколько. В этом случае их нужно перечислить через запятую. Давайте для примера сделаем функцию, параметром принимающую два числа и выводящую на экран их сумму:
function func(num1, num2) {
alert(num1 + num2);
}
func(1, 2); // выведет 3
Сделайте функцию, которая параметрами принимает
3
числа и выводит на экран сумму этих
чисел.
Параметры-переменные
Давайте рассмотрим следующий код:
function func(num) {
alert(num * num);
}
func(2);
Как вы видите, в при вызове функции в нее
передается число 2
.
Не обязательно параметром функции передавать именно число - можно передать и переменную, содержащую нужное нам число:
function func(num) {
alert(num * num);
}
let param = 2;
func(param);
Сделайте функцию func
, которая параметром
будет принимать 3
числа и выводить
на экран их сумму. Пусть даны 3
переменные
с числами:
let param1 = 1;
let param2 = 2;
let param3 = 3;
С помощью созданной вами функции выведите на экран сумму значений эти переменных.
Необязательные параметры
Пусть у нас есть функция, которая параметром принимает имя и выводит его на экран:
function func(name) {
alert('ваше имя: ' + name);
}
Проверим работу нашей функции:
func('Вася'); // выведет 'ваше имя: Вася'
Давайте теперь сделаем так, чтобы имя было
не обязательным: если оно будет введено,
то выведется на экран, а если не введено
- то пусть принимает значение 'Аноним'
.
Для того, чтобы сделать параметр необязательным,
для него нужно определить значение по
умолчанию. Для этого при определении
параметра нужно поставить знак =
и
желаемое значение, вот так:
function func(name = 'Аноним') {
alert('ваше имя: ' + name);
}
Проверим теперь работу нашей функции:
// Без параметра:
func(); // выведет 'ваше имя: Аноним'
// С параметром:
func('Вася'); // выведет 'ваше имя: Вася'
Пусть теперь наша функция принимает два параметра: имя и возраст:
function func(name, age) {
alert('ваше имя: ' + name + ' возраст: ' + age);
}
Давайте сделаем так, чтобы возраст был необязателен:
function func(name, age = 'неизвестен') {
alert('ваше имя: ' + name + ' возраст: ' + age);
}
А теперь сделаем так, чтобы и имя, и возраст были необязательны:
function func(name = 'Аноним', age = 'неизвестен') {
alert('ваше имя: ' + name + ' возраст: ' + age);
}
Все необязательные параметры следует писать в конце. Поэтому сделать так, чтобы имя было необязательным, а возраст - нет, нельзя:
// так не будет работать
function func(name = 'Аноним', age) {
alert('ваше имя: ' + name + ' возраст: ' + age);
}
Дана функция:
function func(num = 5) {
alert(num * num);
}
Эта функция вызывается следующим образом:
func(2);
func(3);
func();
Расскажите, каким будет результат каждого из вызовов функции.
Дана функция:
function func(num1 = 0, num2 = 0) {
alert(num1 + num2);
}
Эта функция вызывается следующим образом:
func(2, 3);
func(3);
func();
Расскажите, каким будет результат каждого из вызовов функции.