While some web developers dismiss JavaScript as a flawed language, this succinct book shows you how to make the best of it by practicing a functional style of JavaScript programming. Written by Michael Fogus - a core contributor to Clojure and ClojureScript, and author of The Joy of Clojure (Manning) - this book is packed with not only the how of functional programming, but als...
While some web developers dismiss JavaScript as a flawed language, this succinct book shows you how to make the best of it by practicing a functional style of JavaScript programming. Written by Michael Fogus - a core contributor to Clojure and ClojureScript, and author of The Joy of Clojure (Manning) - this book is packed with not only the how of functional programming, but also the why. Each topic illustrated with pointed examples. You'll also get a thorough reference to the Underscore.js library and its idioms, including: Closures Applicative programming Laziness Immutability Higher-order functions Purity Combinators Currying and partial application
作者简介
· · · · · ·
Michael Fogus
Michael Fogus is software developer with experience in distributedsimulation, machine vision, and expert systems construction. He's actively involved in the Clojure and Scala communities.
http://www.fogus.me/
目录
· · · · · ·
Chapter 1 Introducing Functional JavaScript
The Case for JavaScript
Getting Started with Functional Programming
The Case for Underscore
Summary
Chapter 2 First-Class Functions and Applicative Programming
· · · · · ·
(更多)
Chapter 1 Introducing Functional JavaScript
The Case for JavaScript
Getting Started with Functional Programming
The Case for Underscore
Summary
Chapter 2 First-Class Functions and Applicative Programming
Functions as First-Class Things
Applicative Programming
Data Thinking
Summary
Chapter 3 Variable Scope and Closures
Global Scope
Lexical Scope
Dynamic Scope
Function Scope
Closures
Summary
Chapter 4 Higher-Order Functions
Functions That Take Other Functions
Functions That Return Other Functions
Putting It All Together: Object Validators
Summary
Chapter 5 Function-Building Functions
The Essence of Functional Composition
Currying
Partial Application
Stitching Functions End-to-End with Compose
Summary
Chapter 6 Recursion
Self-Absorbed Functions (Functions That Call Themselves)
Codependent Functions (Functions Calling Other Functions That Call Back)
Too Much Recursion!
Recursion Is a Low-Level Operation
Summary
Chapter 7 Purity, Immutability, and Policies for Change
Purity
Immutability
Policies for Controlling Change
Summary
Chapter 8 Flow-Based Programming
Chaining
Pipelining
Data Flow versus Control Flow
Summary
Chapter 9 Programming Without Class
Data Orientation
Mixins
}).call("Finis");
Appendix Functional JavaScript in the Wild
Functional Libraries for JavaScript
Functional Programming Languages Targeting JavaScript
Appendix Annotated Bibliography
Papers/Books/Blog Posts/Talks
Presentations
Blog Posts
Journal Articles
Colophon
· · · · · · (收起)
原文摘录
· · · · · ·
object-oriented approach tends to break problems into groupings of “nouns,” or objects, a functional approach breaks the same problem into groupings of "verbs", or functions. (查看原文)
A higher-order function adheres to a very specific definition:
* It’s first-class (refer back to Chapter 2 if you need a refresher on this topic)
* Takes a function as an argument
* Returns a function as a result (查看原文)
While some web developers dismiss JavaScript as a flawed language, this succinct book shows you how to make the best of it by practicing a functional style of JavaScript programming. Written by Michael Fogus - a core contributor to Clojure and ClojureScript...
(展开)
1 有用 juntao.qiu 2015-02-28 22:22:20
基于underscore.js这个JavaScript库,写的清晰易懂。吹毛求疵一些,有些地方的解释不够详细。推荐在学习了JavaScript基础知识之后作为进阶读物。
0 有用 小盼 2022-05-31 08:43:53
有点怪,感觉他把简单的事情写复杂了,代码有点绕,为了解释而解释去掰代码,看不进去了
3 有用 杰妮蛇精病 2017-03-27 22:33:11
内容不错,一步步深入函数式编程的几个主要概念。但我只给三颗星。一颗扣在没看清楚标题,书里主要以unsercore.js为基础写代码,然而并不会介绍他用的这个方法是作什么用,为什么选用这个方法,不熟悉的就要一手翻官网资料一手阅读,而且我认为underscore本身就很函数式,简单的示例用underscore显得多余,复杂的示例自己写代码套用underscore显得不伦不类。另一颗扣在作者示例上下联系... 内容不错,一步步深入函数式编程的几个主要概念。但我只给三颗星。一颗扣在没看清楚标题,书里主要以unsercore.js为基础写代码,然而并不会介绍他用的这个方法是作什么用,为什么选用这个方法,不熟悉的就要一手翻官网资料一手阅读,而且我认为underscore本身就很函数式,简单的示例用underscore显得多余,复杂的示例自己写代码套用underscore显得不伦不类。另一颗扣在作者示例上下联系太紧密,函数命名却太简单,像我这种用碎片化时间学习的人,看起来那叫一个痛苦,一个示例突然就冒出来一个不知道干什么用的函数,名字看不懂,翻遍前两章都找不到。 (展开)
0 有用 贝塔 2013-08-10 10:47:54
fogus 的新书
1 有用 缘起助 2015-01-08 12:35:45
我读过的第一本有关FP的编程书,算是入门。