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

@темы: Java script

Комментарии
27.02.2015 в 14:54

Reflendey
А зачем вообще внутренняя функция f?

culc добавляет элемент и возвращает f
f добавляет элемент и возвращает саму себя (чтобы можно было опять вызвать функцию. новыми скобочками)

culc, которая возвращает себя вместо f и без всякого f будет делать тоже самое. repl.it/cLu
27.02.2015 в 14:57

Puteror, говорю же, каша в голове :) теперь вроде понятнее, спасибо!
28.02.2015 в 12:05

Чтобы лучше ориентироваться в js, очень помогает хорошо осознать, как работают области видимости. Что, например, можно вернуть функцию из самой себя.
Рекомендую почитать книжку Стефанова про паттерны кода на js, там очень хорошо написано и не сложно даже для новичка.
28.02.2015 в 13:03

Astartsky, Да, спасибо, книжку мне уже советовали) я лопачу информацию по всему интернету, книжки читаю, и одновременно вот пытаюсь на практике применить.