Size: a a a

JavaScript Noobs — сообщество новичков

2021 July 23

Л

Леша in JavaScript Noobs — сообщество новичков
const parag = document.querySelectorAll('p');

function fun() {
 let counter = 0;
 return function () {
   counter++;
   console.log(counter);
 }
}

parag.forEach(elem => {
 elem.addEventListener('click', fun());
})

почему в слушателе события функция fun() не выполняется сразу, а только по клику?
по идее, если в слушатель передано название функции со скобками, она должна выполнится сразу?
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
а как ты узнаешь, что она не выполнилась сразу?
источник

Л

Леша in JavaScript Noobs — сообщество новичков
оказывается, она выполняется сразу)

но, когда происходит событие, возвращается функция через return, которая, которая выполняет код внутри?
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
функция через return возвращается в момент вызова fun, т.е. в момент создания слушателя
источник

Л

Леша in JavaScript Noobs — сообщество новичков
это что-то по типу, если бы я написал
let a = fun();
a();

но тогда куда попадает то, чтоо возвращается из fun?
источник

Л

Леша in JavaScript Noobs — сообщество новичков
когда я вызываю замыкание через слушатель
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
в смысле куда?
источник

Л

Леша in JavaScript Noobs — сообщество новичков
let a = fun();

a();

вот тут все наглядно ясно, но я не понимаю, как по сути то же самое происходит, когда я пишу так:

elem.addEventListener('click', fun());
источник

AP

Anton Permyakov in JavaScript Noobs — сообщество новичков
let a = fun();

elem.addEventListener('click', a);
источник

Л

Леша in JavaScript Noobs — сообщество новичков
тоесть, это как-то внутри слушателя происходит? ведь нет явного присовоения let a = fun()
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
у elem какое-нибудь внутреннее поле есть, ответственное за click.

elem.onclick = fun() к примеру
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
я, честно, не помню чего там как, нужно в справочнике смотреть
источник

Л

Леша in JavaScript Noobs — сообщество новичков
понял, спасибо за уделенное время
источник

m

mmm in JavaScript Noobs — сообщество новичков
Слышал что бест практис отлаживать алертами
источник

D

Danila in JavaScript Noobs — сообщество новичков
😡
источник

m

mmm in JavaScript Noobs — сообщество новичков
На митапе каком-то
источник

КА

Кирилл Архипов... in JavaScript Noobs — сообщество новичков
Попробуй циклом Алерт вывести
источник

j

jk in JavaScript Noobs — сообщество новичков
А то, learn.javascript.ru этому и учит.
источник

m

mmm in JavaScript Noobs — сообщество новичков
Может это раньше было а щас не актуально, не знаю, подскажите
источник

D

Danila in JavaScript Noobs — сообщество новичков
Толсто
источник