Я бы сказал, что хотя вы можете быстро понять некоторые концепции функционального программирования с помощью JavaScript, постоянное использование JavaScript, как и языка функционального программирования, не является обычной практикой. По крайней мере, не совсем обычное явление. Большинство людей не публикуют учебники, в которых рассказывается о том, как выполнять функциональное программирование с помощью JavaScript - тот, на который указал Марксидад, на самом деле является довольно приличным примером, но вы не найдете много такого. Функциональные аспекты не всегда очевидны, например, когда люди используют замыкания в JavaScript, но они не знают, что делают это.
Идея о том, что вы передадите две функции в качестве аргументов третьей функции, а затем получите возвращаемое значение в виде некоторого выполнения, связанного с первыми двумя функциями, является продвинутой техникой, которая почти всегда появляется только в ядре полномасштабного библиотеки, такие как jQuery. Самоисполняющиеся анонимные функции и тому подобное получили распространение, но все еще не используются последовательно. Большинство учебных пособий часто сосредотачиваются вместо этого на ОО-возможностях JavaScript, таких как, как создавать свойства и методы, область видимости, контроль доступа, а также как использовать свойство prototype конструкторов. Честно говоря, если вам нужно функциональное программирование, я бы выбрал язык, строго известный этой возможностью.