虽然JavaScript是一门完整的面向对象的编程语言,但这门语言同时也拥有许多函数式语言的特性。
函数式语言的鼻祖是LISP, JavaScript在设计之初参考了LISP两大方言之一的Scheme,引入了Lambda表达式、闭包、高阶函数等特性。使用这些特性,我们经常可以用一些灵活而巧妙的方式来编写JavaScript代码。
本章主要挑选了闭包和高阶函数进行讲解。在JavaScript版本的设计模式中,许多模式都可以用闭包和高阶函数来实现。