Size: a a a

JavaScript — русскоговорящее сообщество

2020 September 11

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
function setParams(param1, param2) {
  return function() {
     console.log(param1 + param2 )
   }

$elem.addEventListener('event', setParams(1, 2))
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
А вот тут уже функция используется, чтобы из замыкания получить коллбэк
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
из ивента скорее
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Мы может одно и тоже имеем ввиду, и я просто неправильно понял
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Nicky Coder
из ивента скорее
Почему из ивента-то, на ивент вешается функция, которая получается из процесса замыкания
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
Tgl Pl
function setParams(param1, param2) {
  return function() {
     console.log(param1 + param2 )
   }

$elem.addEventListener('event', setParams(1, 2))
ну это прям очень упорото в аргументе вызывать функцию которая вернэт функцию в качестве колбэка))))
источник

НС

Никита Сковорода... in JavaScript — русскоговорящее сообщество
David Bowie
npm-пакеты? Нет, уже поднимался этот вопрос. Вредоносный код можно загрузить со стороннего сервиса

Вот, например, живой пакет
https://www.npmjs.com/package/nagibabel
https://github.com/fual/nagibabel.js
зарепортил, спасибо
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Nicky Coder
ну это прям очень упорото в аргументе вызывать функцию которая вернэт функцию в качестве колбэка))))
А чо нет)) Это конечно в нормальном проекте нечитаемо было бы, но у меня там скрипт изолированный был на 20 строк кода
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
По нормальному надо было бы лучше
const paramsSumm = setParam(1, 3);
$elem.addEvent...
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
Tgl Pl
function setParams(param1, param2) {
  return function() {
     console.log(param1 + param2 )
   }

$elem.addEventListener('event', setParams(1, 2))
просто блин, можно же проще - можно сразу указать колбэк, оборачивать в функцию не нужно
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
А как сразу укажешь коллбэк? Если я хочу параметры на ивент передавать
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
$elem.addEventListener(‘click’, (e, param1, param2) => {console.log(param1 + param2)})
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
если её объявлять отдельно, то выйдет так...
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Окей, что-то я не рассматривал такой вариант вообще
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Мне с замыканием больше нравится
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
const func = (param1, param2, e) => {console.log(param1m, param2)}
$elem.addEventListener(‘click’, func.bind(this, 1, 2))

event в функцию передаётся через bind неявно
источник

NM

Neo Makela in JavaScript — русскоговорящее сообщество
подскажите дауну пж,мне нужно чтобы при скролле страницы немного вниз добавлялся класс элементу ,нашел простенькую функцию ,но не работает
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
да замыкание присутствует в любом примере
источник

NC

Nicky Coder in JavaScript — русскоговорящее сообщество
источник

TP

Tgl Pl in JavaScript — русскоговорящее сообщество
Nicky Coder
const func = (param1, param2, e) => {console.log(param1m, param2)}
$elem.addEventListener(‘click’, func.bind(this, 1, 2))

event в функцию передаётся через bind неявно
Кстати прикольный фокус
источник