помогите разобраться что за функцию я такую написала!
repl.it/cLb - код.
задумывалось как функция, которая при вызове вот так culc(a)(b)(c)(d); будет последовательно запихивать аргументы в массив. вроде как получилось, но я не совсем понимаю как!
в качестве опоры пользовалась первыми двумя заданиями из этой статьи javasсript.info/tutorial/closures
culc(a)(b)(c)(d); - что бы такая запись работала, она должна работать по принципу - сначала вызывается culc(a), а затем вызывается culc, в котором уже исполнен a, с аргументов b и так далее. значит когда в функцию первый раз входит, то исполняется внешняя функция, пушится аргумент a, затем внутренняя функция, потом внутренняя функция возвращается и следующий аргумент уже входит сразу в возвращенную функцию. так? в голове каша, простите и помогите пожалуйста ее разгрести)
repl.it/cLb - код.
задумывалось как функция, которая при вызове вот так culc(a)(b)(c)(d); будет последовательно запихивать аргументы в массив. вроде как получилось, но я не совсем понимаю как!
в качестве опоры пользовалась первыми двумя заданиями из этой статьи javasсript.info/tutorial/closures
culc(a)(b)(c)(d); - что бы такая запись работала, она должна работать по принципу - сначала вызывается culc(a), а затем вызывается culc, в котором уже исполнен a, с аргументов b и так далее. значит когда в функцию первый раз входит, то исполняется внешняя функция, пушится аргумент a, затем внутренняя функция, потом внутренняя функция возвращается и следующий аргумент уже входит сразу в возвращенную функцию. так? в голове каша, простите и помогите пожалуйста ее разгрести)
culc добавляет элемент и возвращает f
f добавляет элемент и возвращает саму себя (чтобы можно было опять вызвать функцию. новыми скобочками)
culc, которая возвращает себя вместо f и без всякого f будет делать тоже самое. repl.it/cLu
Рекомендую почитать книжку Стефанова про паттерны кода на js, там очень хорошо написано и не сложно даже для новичка.