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

Содержание

Базовые примеры функций

ФункцияВывод
function hello() { return "Hello"; }Строка "Hello"
function sum(a, b) { return a + b; }Сумма двух аргументов
function checkEven(n) { return n % 2 === 0; }true/false в зависимости от четности

Функции с побочными эффектами

  • function logMessage() { console.log("Test"); } - выведет "Test" в консоль
  • function changeVar() { x = 5; } - изменит значение переменной x
  • function addItem(arr) { arr.push(1); } - модифицирует переданный массив

Рекурсивные функции

Пример рекурсии

  1. function factorial(n) { return n <= 1 ? 1 : n * factorial(n-1); }
  2. factorial(3) выведет 6 (3 * 2 * 1)
  3. factorial(5) выведет 120 (5 * 4 * 3 * 2 * 1)

Функции высшего порядка

ФункцияРезультат
function apply(f, x) { return f(x); }Применяет функцию f к x
function multiplyBy(n) { return function(x) { return x * n; } }Создает функцию-множитель

Асинхронные функции

  • async function fetchData() { return await fetch(url); } - возвращает Promise
  • function timeout() { setTimeout(() => "Done", 1000); } - вызовет callback через 1с

Замыкания

Пример работы замыкания

  • function counter() { let count = 0; return function() { return ++count; } }
  • const c = counter(); c(); // 1
  • c(); // 2 (сохраняет состояние между вызовами)

Стрелочные функции

  1. const square = x => x * x; - возводит в квадрат
  2. const greet = name => `Hello ${name}`; - создает приветствие
  3. const noArg = () => Math.random(); - возвращает случайное число

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

Запомните, а то забудете

Другие статьи

Что такое средний чек и прочее