наткнулась на пример вызова функции вот таким образом: foo ()();
еще видела где-то подобное но уже с аргументами, т.е. например foo(1)(2)(3);
www.youtube.com/watch?v=N09Ljaaexqk первый пример из вот этого видео, там автор вроде как объяснил что это связано с тем что таким образом первая скобочка вызовет саму функцию, а вторая - функцию которая возвращается внутри внешней функции. не поняла, как это вообще? как работает? конкретного описания про такую запись в учебниках не видела, загуглить не вышло. есть ли в этом какой-то практический смысл, не абстрактный? за любую инфу и ссылки - огромная благодарность!
поиски и вопросы всем подряд показали что это каррирование
еще видела где-то подобное но уже с аргументами, т.е. например foo(1)(2)(3);
www.youtube.com/watch?v=N09Ljaaexqk первый пример из вот этого видео, там автор вроде как объяснил что это связано с тем что таким образом первая скобочка вызовет саму функцию, а вторая - функцию которая возвращается внутри внешней функции. не поняла, как это вообще? как работает? конкретного описания про такую запись в учебниках не видела, загуглить не вышло. есть ли в этом какой-то практический смысл, не абстрактный? за любую инфу и ссылки - огромная благодарность!

поиски и вопросы всем подряд показали что это каррирование
-
-
22.02.2015 в 20:47-
-
22.02.2015 в 21:39Можно разбирать просто по очереди - foo() возвращает функцию, которую можно позже выполнить. И эту функцию также можно выполнить. И так можно вложенность сделать очень длинной, зависит от задачи.
-
-
22.02.2015 в 22:29-
-
22.02.2015 в 23:14Можно записать так
var func1 = foo(); //в func1 лежит уже функция
var func2 = func1(); //исполняем func1 которая тоже вернула допустим функцию. записали её в func2;
func2();
а в сокращённом виде всё что выше можно записать просто как foo()()() - т.е. сначала выполнится foo(), потом то что вернулось из foo, а потом то что вернулось из функции которая вернулась из foo. Надеюсь так чуть понятней )
-
-
22.02.2015 в 23:32-
-
23.02.2015 в 12:04-
-
24.02.2015 в 16:45-
-
24.02.2015 в 20:38foo(1)(2)(3); — может быть каррированием, но вопрос, как я понимаю, не совсем о том
(function() {})() — синтаксическая конструкция js, самовызывающаяся функция
-
-
24.02.2015 в 20:54