Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 01.02.2021, 04:27
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Сообщение от denis_alekss
Зачем нужно создавать ссылку counter на функцию getMyClosure?
Это не ссылка на функцию getMyClosure. Это выполнение функции getMyClosure и сохранение результата её выполнения в переменную counter. В данном случае функция getMyClosure возвращает ссылку на свою внутреннюю функцию (closure), и в переменную counter попадёт именно она - closure.

Сообщение от denis_alekss
Почему нельзя просто вызвать getMyClosure() и передать в Onclick?
Что передать в onclick? Вызов функции getMyClosure? Так она же возвращает не число, а ссылку на функцию closure... Причём при каждом вызове она будет возвращать новое замыкание, со своим собственным окружением:
<body>
<script>
function getMyClosure(){
   var count = 0;
   var closure = function(){ return count++; }
   return closure;
}
 
var counter1 = getMyClosure(); //первое замыкание
var counter2 = getMyClosure(); //второе
var counter3 = getMyClosure(); //третье
</script>
<button onclick="document.getElementById('btn1').innerText=counter1()">Button1 (<span id="btn1">-</span>)</button>
<button onclick="document.getElementById('btn2').innerText=counter2()">Button2 (<span id="btn2">-</span>)</button>
<button onclick="document.getElementById('btn3').innerText=counter3()">Button3 (<span id="btn3">-</span>)</button>
</body>


P.S.: Если ещё не читали: https://learn.javascript.ru/closure

Последний раз редактировалось Белый шум, 01.02.2021 в 07:36.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замыкания в javascript Smike Общие вопросы Javascript 11 01.10.2014 00:15
Книга: JavaScript. Сильные стороны Magneto Учебные материалы 16 21.04.2013 15:28
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34