Java Reference
In-Depth Information
This function will return an object that's assigned to the variable Stats . It has two public
methods, mean() and standardDeviation() . The module also has two private
functions, square() and sum() , that are not returned, so are not publicly available to
the module (they are just used internally by other methods). The public methods are called
using the Stats object:
Stats.mean([1,2,3]);
<< 2
Stats.standardDeviation([1,2,3]);
<< 0.666666666666667
To use a module in a web page, include the file in which it's saved in script tags on the
page:
<script src="stats.js"></script>
<script src="scripts.js"></script>
Two standard ways of implementing JavaScript modules have emerged: the CommonJS
Module pattern and the Asynchronous Module Definition pattern. Unfortunately, these pat-
terns are incompatible with each other. An example of each follows, where they are both
capable of keeping modules in their own namespace, and adding multiple methods as well
as submodules and dependencies on other modules.
CommonJS Modules
CommonJS Modules have a compact syntax that is designed for synchronous loading. It
is how modules are implemented in Node.js.
A module is created in a separate file and the module.exports method is used to make
any functions available to other files. For example, we could create a module for the ran-
dom() function that we created in Chapter 11 by first placing the following code in a file
called random.js:
module.exports = function(a,b) {
if(b===undefined) b = a, a = 1; // if only one argument
is
Search WWH ::




Custom Search