Загрузка...

Параметры функции

В прошлом уроке вы упаковали шаги под именем; скобки остались пустыми. Настоящим программам нужны входы — имя, сумма, сообщение — чтобы одно и то же тело работало с разными значениями. Эти именованные слоты — параметры. Значения, которые вы передаёте при вызове, — аргументы.

Параметры и аргументы

Когда вы пишете function greet(name) { … }, name — это параметр: локальное имя внутри тела. Когда пишете greet("Sara"), "Sara" — аргумент: конкретное значение для этого вызова. Один рецепт, разные ингредиенты.

Кто где стоит

📊 Параметр против аргумента

Идея Где пишете По-простому
параметр в () при объявлении пустая миска с ярлыком name
аргумент в () при вызове то, что наливаете — "Sara"
порядок слева направо первый аргумент → первый параметр
по умолчанию name = "friend" в объявлении запас, если ничего не принесли
пустой слот вызов с меньшим числом значений параметр становится undefined, если нет default

Параметры живут в объявлении. Аргументы появляются при каждом вызове. Путать эти слова — типичная ошибка новичка; держите таблицу рядом, пока привычка не закрепится.

Один параметр

javascript
function greet(name) {
console.log("Hello, " + name);
}
greet("Sara");

Один вход, один слот

name ждёт внутри greet. Вызов передаёт "Sara". Тело собирает Hello, Sara и пишет в консоль. Меняйте аргумент, оставляйте тело — в этом сила параметров.

Два параметра

javascript
function add(a, b) {
console.log(a + b);
}
add(3, 4);

Два слота, два значения

Параметры через запятую: a, b. Аргументы в том же порядке: 3 попадает в a, 4 в b. В логе 7. Тело не зашивает эти числа — их даёт вызов.

Порядок важен

javascript
function label(color, surface) {
console.log(color + " on " + surface);
}
label("red", "wall");
label("wall", "red");

Порядок — это договор

Первый вызов печатает red on wall. Второй — wall on red: та же функция, аргументы местами. JavaScript не угадывает, какое значение «похоже на цвет». Решает позиция.

Параметр по умолчанию

javascript
function greetFriend(name = "friend") {
console.log("Hi, " + name);
}
greetFriend("Ali");
greetFriend();

Запасное значение, если ничего не пришло

name = "friend" задаёт значение по умолчанию. greetFriend("Ali") берёт "Ali". greetFriend() с пустыми скобками берёт "friend". Default защищает тело, когда вызывающий пропускает слот.

Пропущенный аргумент становится undefined

javascript
function showId(id) {
console.log(id);
}
showId();

Нет значения и нет default

showId() ничего не передаёт в id. Без default id равен undefined — и именно это печатается. Это не падение страницы, а сигнал: забыли аргумент или нужен default.

Передайте строку на страницу

Тот же DOM-приём, но сообщение собирается из аргумента. Одна функция может приветствовать разных гостей — меняется только вызов. HTML-демо ниже делает именно это.

Покажите параметры на странице

Объявите функцию с именем гостя, запишите короткое приветствие в абзац и вызовите её с реальной строкой.

Вызов на странице с аргументом

html
<!DOCTYPE html>
<html>
<head>
<title>parameters — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
let box = document.getElementById("msg");
box.textContent = "Hello, " + guest;
}
welcome("Omar");
</script>
</body>
</html>

Страница показывает Hello, Omar. guest был параметром; "Omar" — аргументом. Поменяйте только строку в вызове, обновите страницу и прочитайте новую строку. Дальше — return: отправить значение из функции наружу.

Попробуйте сами

  1. Напишите function hello(name), которая логирует "hi " плюс name, и вызовите со своим именем.
  2. Напишите function sum(x, y), которая логирует x + y, и вызовите с двумя числами.
  3. Вызовите функцию с двумя параметрами дважды с переставленными аргументами и сравните логи.
  4. Добавьте default вроде title = "guest" и вызовите один раз со значением, один раз с пустым ().
  5. Вызовите однопараметрическую функцию без аргумента и без default; убедитесь в undefined в консоли.
  6. В HTML-демо поменяйте только строку аргумента, обновите и прочитайте абзац.

Частые ошибки

  • Вызов с пустым (), когда телу нужно значение — без default получите undefined
  • Менять порядок аргументов и ждать, что JavaScript «поймёт», кто есть кто
  • Путать параметр (объявление) с аргументом (вызов)
  • Забывать запятую между двумя параметрами или аргументами
  • Искать здесь возвращаемое значение — это следующий урок; эта страница только про входы

Кратко

  • Параметры — имена в () объявления
  • Аргументы — значения, которые вы передаёте при вызове
  • Порядок слева направо — первый с первым, второй со вторым
  • Default заполняет слот, если вызывающий его пропускает
  • Пустой слот без default становится undefined
  • Обновление страницы может использовать переданное значение в сообщении
  • Дальше: return — отправьте результат из функции наружу

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
8
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху