Size: a a a

2020 May 10

p

persona x grata in pro.js
Виктория
Потому что здесь хотят показать какие проблемы могут возникнуть из-за замыканий при использовании var в цикле
понятно, спасибо) задачка для собеса в компанию ковырять легаси код
источник

В

Виктория in pro.js
persona x grata
понятно, спасибо) задачка для собеса в компанию ковырять легаси код
Создаешь самовызывающуюся анонимную функцию, передаешь ей аргументом индекс, значение счетчика копируется при передаче в функцию, и не будет изменяться
Функция возвращает другую, которая замыкает аргумент анонимной функции, в итоге все работает корректно
В 2020 уже можно так не извращаться, и юзать let, у переменной, заданной через let, блочная область видимости. Тело цикла это блок, поэтому на каждой итерации цикла переменная-счетчик создается заново

А вообще лучше не юзать замыкания, если можно обойтись без них, а передавать в функции аргументы, ведь замыкание - побочный эффект
источник

CM

Chingiz Mamiyev in pro.js
Виктория
Создаешь самовызывающуюся анонимную функцию, передаешь ей аргументом индекс, значение счетчика копируется при передаче в функцию, и не будет изменяться
Функция возвращает другую, которая замыкает аргумент анонимной функции, в итоге все работает корректно
В 2020 уже можно так не извращаться, и юзать let, у переменной, заданной через let, блочная область видимости. Тело цикла это блок, поэтому на каждой итерации цикла переменная-счетчик создается заново

А вообще лучше не юзать замыкания, если можно обойтись без них, а передавать в функции аргументы, ведь замыкание - побочный эффект
источник

В

Виктория in pro.js
источник

CM

Chingiz Mamiyev in pro.js
источник

CM

Chingiz Mamiyev in pro.js
Просто спать пора мне😴
источник

В

Виктория in pro.js
Иди
источник

CM

Chingiz Mamiyev in pro.js
источник

В

Виктория in pro.js
За ФП завтра поясню
источник

CM

Chingiz Mamiyev in pro.js
Виктория
За ФП завтра поясню
Окей
источник

p

persona x grata in pro.js
Виктория
Создаешь самовызывающуюся анонимную функцию, передаешь ей аргументом индекс, значение счетчика копируется при передаче в функцию, и не будет изменяться
Функция возвращает другую, которая замыкает аргумент анонимной функции, в итоге все работает корректно
В 2020 уже можно так не извращаться, и юзать let, у переменной, заданной через let, блочная область видимости. Тело цикла это блок, поэтому на каждой итерации цикла переменная-счетчик создается заново

А вообще лучше не юзать замыкания, если можно обойтись без них, а передавать в функции аргументы, ведь замыкание - побочный эффект
спасибо, хорошо объясняешь)
А еще в цикле количество инераций это хардкод, поэтому в моем решении я вынес это в аргумент передаваемый фукции, это ведь более чистый код
источник

В

Виктория in pro.js
persona x grata
спасибо, хорошо объясняешь)
А еще в цикле количество инераций это хардкод, поэтому в моем решении я вынес это в аргумент передаваемый фукции, это ведь более чистый код
Конечно, это тебе не щупальцами осьминога массивы объяснять
источник

p

persona x grata in pro.js
Виктория
Конечно, это тебе не щупальцами осьминога массивы объяснять
Замыкания это функция IIFE?
Читал, что не надо их юзать, потому что после ES2015 появилась годная альтернатива
источник

F

Foma in pro.js
а сейчас какой es?
источник

p

persona x grata in pro.js
2020
источник

p

persona x grata in pro.js
или даже 2021
источник

F

Foma in pro.js
Шрёдингеры...одновременно в прошлом и в будущем
источник

p

persona x grata in pro.js
ECMAScript® 2021
источник

A

Arthur in pro.js
источник

p

persona x grata in pro.js
источник