Functional JavaScript: Harnessing the power of the Function Object: "The JavaScript language can operate equally well within many of the major programming paradigms. The first programming model most students learn is Procedural Programming; so called because procedures (functions) are used to group similar functionality. JavaScript also supports most of the features of the Object-Oriented (OO) model, such as encapsulation, modularity, polymorphism and inheritance."