При вызове функции мы пишем ее имя и пустые круглые скобки:
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();
Расскажите, каким будет результат каждого из вызовов функции.