С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1306 / 781 / 190
Регистрация: 19.09.2020
Сообщений: 1,993
1

Замыкания: ткнуть и переткнуть

11.12.2021, 22:15. Показов 586. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сегодня случился со мной очередной fail, мне не привыкать. В написанном ранее скрипте как-то глючила одна фича. Я решил вопрос по-ассмеблерски, прямо и без стеснений, потом еще один более красивый вариант сделал, но сегодня решил совершить коминг-аут и разобраться в чем-же проблема - я коминг или всё это аут.
Начал смотреть, создал синтетический тест, речь о функции setTimeout- она как бы не отрабатывала, потому что вызывалась раньше еще раз.
Я как старый боевой гусь разгоготался что типа жаваскрипт, что за фигня, меня обманули и всё такое и тут на помощь пришел абсолютно скромный, умный, замечательный форумчанин и ткнул!
Ткнул меня. Мордой в ошибку. Оказалось, что я функция setTimeout работает не так, как я в прекрасном своем мире думал (он тоже так раньше думал). И тут выяснилось, что я не желая этого столкнулся с замыканиями.

Это всё было лирическое весёлое субботнишное вступление, а теперь вопрос, точнее просьба. В первую очередь к профэссорам.

Привести примеры кратно без лишней пыли можно прям на словах без кода - использования механизма замыканий и для чего это делается, какикие плюшки приносит.
Меня подозревать в тупости и бестолковости не надо, потому что я посмотрел и почитал. Но даже тот же Минин (есть такой очень популярный РЧ) на ютубе рассказывает о замыканиях максимально по-идиотски. Ну рассказал и ЧТО? Где как применять ваще ни слова. В общем все влогеры и статьи говно.
Нужны прям реальные именно реальные кейсы. Которые подходят для обучения.
Профэссоры?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2021, 22:15
Ответы с готовыми решениями:

Замыкания, и замыкания в объекте. Где данные?
Помогите пожалуйста разобраться где хранятся данные. Ниже 2 примера. В первом все вроде как понятно...

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

Замыкания и this
Здравствуйте. Вопрос таков: у меня есть две функции, по сути одинаковые геттеры, но при...

Замыкания
чего-то я не понял почему данный код работает function multiplier( factor) { return...

Замыкания
Напишите программу генератора чисел Фибоначчи используя замыкания. Вопрос: функция, допустим,...

2
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
12.12.2021, 09:48 2
Вот пример придумал:
Javascript
1
2
3
4
5
6
7
8
9
10
function createSecret() {
  let x = 'supersecret';
  return function () {
    return x;
  }
}
 
const getSecret = createSecret();
 
console.log(getSecret()); // 'supersecret'
Ещё в замыкании удобно хранить кэшированные данные, чтобы лишний раз нагрузку не давать.
0
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
12.12.2021, 17:02 3
Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Ещё в замыкании удобно хранить кэшированные данные
Еще в замыканиях удобно код и данные прятать. Насколько я выяснил, доступ к вашему "х" кроме как внутренней функцией НИКАК получить не получиться "снаружи" объекта (даже добавляя методы вручную). А в переменную "х" можно и функцию положить.
0
12.12.2021, 17:02
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2021, 17:02
Помогаю со студенческими работами здесь

Замыкания в js
Здравствуйте. Объясните пожалуйста что такое замыкания? Нашёл много объяснений но все они...

замыкания?
Вот тут умный дядя рассказывает про замыкания. var values = new List<int>() { 100, 110, 120 };...

Замыкания
function add(a, b) { return b ? a + b : (b) => a + b } add(2)(4);//6 add(1, 2)//3 Есть...

Замыкания(?)
Здравствуйте. Наверняка название не совсем походит, но я не знаю как иначе это назвать. Сие есть...

Замыкания
В этом примере создается внутренняя функция func, изнутри которой доступны как локальные...

Замыкания
Доброго времени суток. Имеется такая задача на замыкания: Используя замыкания функций, объявите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru