TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #386 6.73K
Какие функции есть в js ?
Спросят с вероятностью 7%

Существует несколько типов функций, каждая из которых имеет свои особенности и области применения. Вот основные виды функций:

1️⃣Функциональные выражения и объявленные функции

Объявленные функции (Function Declaration)

Объявленные с использованием ключевого слова function, идущего перед именем функции. Эти функции "всплывают" (hoisted), что означает, что они могут быть вызваны до их определения в коде.
function greet(name) {
return `Hello, ${name}!`;
}

console.log(greet('Alice')); // Hello, Alice!

Функциональные выражения (Function Expression)

Не "всплывают" и не могут быть вызваны до их определения.
const greet = function(name) {
returned
};

console.log(greet('Bob')); // Hello, Bob!


2️⃣Стрелочные функции (Arrow Functions)

Это сокращенный синтаксис для создания функций, введенный в ES6. Они не имеют собственного контекста this и не могут быть использованы в качестве методов или конструктора.
const greet = (name) => Hello, ${name}!;

console.log(greet('Charlie')); // Hello, Charlie!


3️⃣Анонимные функции

Часто используются в качестве аргументов для других функций или для создания замыканий.
setTimeout(function() {
console.log('This will run after 1 second');
}, 1000);


4️⃣Функции-конструкторы

Для создания объектов. Они вызываются с ключевым словом new и обычно имеют заглавную букву в названии.
function Person(name, age) {
this.name = name;
this.age = age;
}

const alice = new Person('Alice', 30);
console.log(alice.name); // Alice

5️⃣Методы объекта


Являются свойствами объекта.
const person = {
name: 'Alice',
greet: function() {
return Hello, my name is ${this.name};
}
};

console.log(person.greet()); // Hello, my name is Alice

6️⃣Генераторы (Generators)

Могут быть приостановлены и возобновлены в любой момент. Они объявляются с помощью function* и используют ключевое слово yield.
function* generatorFunction() {
yield 'First';
yield 'Second';
yield 'Third';
}

const gen = generatorFunction();
console.log(gen.next().value); // First
console.log(gen.next().value); // Second
console.log(gen.next().value); // Third


7️⃣Асинхронные функции (Async/Await)

Возвращают промис и позволяют использовать синтаксис await для упрощения работы с асинхронным кодом.
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
return data;
}

fetchData().then(data => console.log(data));


8️⃣Функции обратного вызова (Callbacks)

Передаваемые в качестве аргументов в другие функции и вызываемые позже.
function fetchData(callback) {
setTimeout(() => {
const data = { name: 'Alice' };
callback(data);
}, 1000);
}

fetchData(function(data) {
console.log(data); // { name: 'Alice' }
});

Есть несколько типов функций, включая объявленные функции, функциональные выражения, стрелочные функции, анонимные функции, функции-конструкторы, методы объекта, генераторы, асинхронные функции и функции обратного вызова. Каждый тип функций имеет свои особенности и области применения.

👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1429 вопроса на Frontend разработчика. Ставь 👍 если нравится контент

🔐 База собесов | 🔐 База тестовых
  • 👍 34
  • 🔥 7
  • ❤ 2
More from @easy_javascript_ru
  1. Oct 16, 2026🤔 Что такое meta теги? Meta-теги – это специальные HTML-теги, которые содержат метаинформ…
  2. Oct 15, 2026Post #3044
  3. Oct 15, 2026🤔 Какие преимущества у di? Dependency Injection (DI) – это паттерн проектирования, которы…
  4. Oct 14, 2026🤔 Зачем создавались библиотеки react и другие? Библиотеки, такие как React, создавались д…
  5. Oct 13, 2026🤔 Что такое репозиторий? Это хранилище кода, файлов и их истории изменений. Используется…
  6. Oct 13, 2026🤔 Как мы можем замерить скорость работы участка кода с date.Now? В JavaScript можно замер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →