Функция — это набор операторов, которые могут быть вызваны один или несколько раз. Это позволяет вам сгруппировать набор инструкций вместе и дать им имя, чтобы вы могли легко повторно использовать код, не переписывая его каждый раз.
Вы можете думать о функции как о черном ящике. Вы можете определить некоторые входные данные (известные как параметры) в функции
Он выполняет некоторые определенные операции с использованием входных данных. Затем он может вернуть некоторое возвращаемое значение
Давайте возьмем пример, когда мы хотим суммировать два числа, x
и y
.
const x = 3; const y = 4; const sum = x + y; console.log(sum); // 7
Это круто, но если вы хотите снова выполнить суммирование, но с другими значениями, вам нужно ввести его снова. Было бы неплохо иметь какую-то предопределенную функциональность без повторного написания. Вот почему у нас есть функции.
Вместо того, чтобы повторять логику каждый раз, мы можем определить функцию, которая определяет логику
Определение функции
Стандартный синтаксис функции использует function
ключевое слово, за которым следует набор круглых и фигурных скобок. Скобки могут содержать некоторые переменные (параметры).
Чтобы вызвать функцию, вы просто пишете имя функции, за которым следуют круглые скобки. Также в функцию можно передавать любые переменные (аргументы).
function hello() { console.log("hi"); } hello(); // hi
Параметры и аргументы
Параметры и аргументы — важные темы для понимания.
Параметры – это заполнители, определенные в определении функции.
С другой стороны, аргументы — это значения, которые передаются функции при ее вызове.
function sum(a, b) { return a + b; }
Ключевое слово return
— еще одна важная концепция для понимания. Это позволяет вам указать значение, которое отправляется обратно из функции. Если вы ничего явно не возвращаете из функции, она автоматически вернет undefined
.
function sum(a, b) { // nothing } const result = sum(3, 2); console.log(result); // undefined
Если вы не передаете ни одного (или какого-либо) аргумента, даже если функция имеет параметры. Он автоматически устанавливает параметр как неопределенный.
function sum(a, b) { console.log(b); } const result = sum(2); console.log(result); // undefined // a = 2, b = undefined
Вызов функции
Еще одна важная функциональность функций заключается в том, что мы можем вызывать их перед определением.Это называется подъемом.
Этот пример не выдает никаких ошибок, как вы могли ожидать.
const result = sum(5, 6); console.log(result); // 11 function sum(a, b) { return a + b; }
Функция как переменная
Другой аспект функций заключается в том, что они ведут себя как переменные. Это означает, что вы можете рассматривать функцию как переменную.
Вы можете передавать функции в качестве аргументов другим функциям, назначать их переменным или даже включать их в качестве свойств объектов.
const nums = [1, 2, 3, 4, 5, 6]; function power(x) { return x ** 2; } function customMap(arr, callback) { const result = []; for (let i = 0; i < arr.length; i++) { const value = callback(arr[i]); result.push(value); } return result; } const returnValue = customMap(nums, power); console.log(returnValue); // [1, 4, 9, 16, 25, 36]
Другой пример с объектом
const person = { firstName: "John", lastName: "Doe", hello() { console.log(`Hello ${this.firstName} ${this.lastName}`); }, }; person.hello(); // Hello John Doe
Параметры по умолчанию
Параметры по умолчанию позволяют вам установить значение по умолчанию для любого параметра в функции. Если для параметра не указан аргумент или явно передано undefined
, используется значение по умолчанию.
function sum(a, b = 2) { return a + b; } let result = sum(5); console.log(result); // 7 result = sum(5, undefined); console.log(result); // 7 result = sum(5, null); // not working console.log(result); // 5
Объявление функции
Объявление функции — это базовое определение функции, как мы видели в предыдущих примерах. Вся информация, которую мы обсудили об объявлении функции, остается в силе.
Важно отметить, что объявления функций создают именованные функции.
function sum(a, b) { return a + b; } const result = sum(4, 5); console.log(result); // 9
Выражение функции
Функциональные выражения обеспечивают гибкость. Это позволяет вам определять функции как переменные. Вы можете передавать их в качестве аргументов другим функциям или назначать динамически на основе определенных условий.
Одно ключевое различие между объявлениями функций и функциональными выражениями заключается в том, что функциональные выражения не поднимаются.
Вы должны убедиться, что выражение функции определено, прежде чем пытаться его вызвать.
const sum = function(a, b) { return a + b; } const result = sum(4, 5); console.log(result); // 9
Если вам понравилась информация и она оказалась полезной, вы можете выразить свою поддержку, купив мне кофе! Ваш вклад помогает мне продолжать создавать ценный контент и ресурсы.