Какие функции существуют в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В JavaScript существуют следующие виды функций:
-
Объявления функций (Function Declarations): Базовый синтакс для определения функции. Поднимаются (hoisted) при компиляции.
function sayHello() { // Тело функции console.log("Привет!"); } -
Функциональные выражения (Function Expressions): Функция присваивается переменной. Не поднимаются. Могут быть именованными или анонимными.
const greetUser = function(name) { // Тело функции console.log(`Привет, ${name}!`); }; -
Стрелочные функции (Arrow Functions): Более лаконичный синтаксис, представленный в ES6. Имеют особенности в поведении
this.const add = (a, b) => a + b; -
Методы объектов (Object Methods): Функции, определенные как свойства объекта.
const user = { name: "Иван", sayName: function() { console.log(this.name); } }; -
Генераторные функции (Generator Functions): Функции, которые могут приостанавливать и возобновлять свое выполнение, используя
yield. Возвращают итератор.function* counter() { let i = 0; while (true) { yield i++; } } -
Асинхронные функции (Async Functions): Функции, которые работают с промисами и позволяют использовать ключевое слово
awaitдля ожидания выполнения промисов.async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); return data; } -
Функции-конструкторы (Constructor Functions): Функции, используемые с оператором
newдля создания объектов. Традиционный подход к ООП до появления классов.function Person(name, age) { this.name = name; this.age = age; } const person1 = new Person("Петр", 30); -
Функции обратного вызова (Callback Functions): Функции, передаваемые в качестве аргумента другой функции для выполнения в определенный момент.
function processArray(arr, callback) { for (let i = 0; i < arr.length; i++) { callback(arr[i]); } } processArray([1, 2, 3], function(item) { console.log(item * 2); }); -
Немедленно вызываемые функциональные выражения (IIFE - Immediately Invoked Function Expressions): Функции, выполняемые сразу после их определения. Используются для создания локальной области видимости.
(function() { // Локальный код const secret = "секрет"; console.log(secret); })();
Каждый тип функций имеет свои особенности синтаксиса, области видимости (this) и сценарии использования.