JavaScript (JS) – это облегченный, интерпретируемый или компилируемый по принципу "точно в срок" язык программирования. Это один из самых известных языков сценариев для веб-страниц. Это полноценный динамический язык программирования, добавляющий интерактивности вашему сайту.
Одна из самых динамичных функций Javascript — это первоклассные функции.
Функции первого класса в языке программирования — это функции, которые обрабатываются так же, как и любая другая переменная в этом языке. Это означает, что функция может быть легко назначена как значение переменной, может быть передана в качестве аргумента другой функции и может быть возвращена другой функцией и т. д.,
Давайте разберем все сценарии на примере: -
Назначить функцию переменной
var func = function() { console.log(“Welcome to javascript world”); }
Как мы видим, мы присваиваем переменной функцию без имени, называемую анонимной функцией.
Примечание. Эту функцию можно вызвать, используя имя переменной, добавив в конце круглую скобку ()
. В нашем случае это как func()
.
Передать функцию в качестве аргумента
function sayWelcome() { return “Welcome”; } function greetings(welcome, name) { console.log(welcome() + “ “ + name); } greetings(sayWelcome, “Sureify People”);
Как мы видим, здесь мы передаем function
, то есть sayWelcome
, в качестве аргумента другому function
, то есть greetings
.
Примечание. function
, которое мы передаем в качестве аргумента другому function
, называется callback function
. В нашем случае sayWelcome
это callback function
.
Вернуть функцию
Мы можем вернуть функцию двумя способами:
Возвращая function
без имени (anonymous function
)
Пример:-
function parent() { return function() { console.log(“Welcome to js world”); } }
Возвращая function
с именем.
Пример:-
function parent() { return function child() { console.log(“Welcome to js world”); } }
Теперь важно, как вызвать эту функцию.
Итак, эту функцию можно вызвать двумя способами.
С помощью переменной.
const callParent = parent (); callParent();
Здесь мы используем имя переменной callParent
для вызова функции function
.
Примечание. Вы должны использовать другой variable
. Если бы вы вызвали parent напрямую, он вернул бы сам function
, не вызывая возвращенный function
.
Используя двойные скобки.
callParent()();
Мы также можем использовать двойные скобки ()()
для вызова возвращаемого function
.
Примечание. В приведенном выше примере parentfunction
является функцией высшего порядка.
Для справки найдите термины,использованные выше: –
Анонимная функция. Функция не имеет имени или функция без имени называется анонимной функцией.
Функция обратного вызова. Функция обратного вызова — это функция,переданная в другую функцию в качестве аргумента, которая затем вызывается внутри внешней или родительской функции для выполнения какой-либо процедуры или действия.
Функция высшего порядка (HOC). Функция, возвращающая функцию, называется функцией высшего порядка.
Об авторе
Навнит Чаудхари (Navnit Chaudhary) — фронтенд-разработчик с 6-летним опытом работы в ИТ-индустрии. Он присоединился к Sureify в качестве ведущего инженера-программиста. Любит смотреть веб-сериалы, фильмы, крикет.