Предполагается, вы знаете, что такое замыкания в JS. Также предполагается, что вы знаете, как работает метод sort() у массивов в JavaScript. Пример замыкания в JavaScript в этой заметке показывает вариант использования замыканий при сортировке массива объектов, содержащих числовые или строковые свойства. В качестве объекта можно взять что угодно — товары в магазине, курсы по веб-разработке, продукты питания. Мы хотим написать функцию сортировки, которая бы передавалась в sort() и позволяла выбирать любое свойство объектов, по которому они должны быть отсортированы. В примере нет сортировки по нескольким полям одновременно.
Пример замыкания в JavaScript
https://developer.mozilla.org: Функция init()
создаёт локальную переменную name
, а затем вызывает фукнцию displayName()
. displayName()
— это внутренняя функция — она определена внутри init()
и доступна только внутри тела этой функции. В отличие от init()
, displayName()
не имеет локальных переменных и вместо этого использует переменную name
, определённую в родительской функции.
function init() {
var name = "Mozilla"; // name - локальная переменная, созданная в init
function displayName() { // displayName() - внутренняя функция, замыкание
alert (name); // displayName() использует переменную, объявленную в родительской функции
}
displayName();
}
init();