doc: consolidate timers docs in timers.markdown
[platform/upstream/nodejs.git] / doc / api / globals.markdown
index c0ff6b5..94fc332 100644 (file)
 These objects are available in all modules. Some of these objects aren't
 actually in the global scope but in the module scope - this will be noted.
 
-## global
+## Class: Buffer
 
 <!-- type=global -->
 
-* {Object} The global namespace object.
+* {Function}
 
-In browsers, the top-level scope is the global scope. That means that in
-browsers if you're in the global scope `var something` will define a global
-variable. In Node this is different. The top-level scope is not the global
-scope; `var something` inside a Node module will be local to that module.
+Used to handle binary data. See the [buffer section][].
 
-## process
+## \_\_dirname
 
-<!-- type=global -->
+<!-- type=var -->
 
-* {Object}
+* {String}
 
-The process object. See the [process object][] section.
+The name of the directory that the currently executing script resides in.
 
-## console
+Example: running `node example.js` from `/Users/mjr`
 
-<!-- type=global -->
+```js
+console.log(__dirname);
+// /Users/mjr
+```
 
-* {Object}
+`__dirname` isn't actually a global but rather local to each module.
 
-Used to print to stdout and stderr. See the [stdio][] section.
+## \_\_filename
 
-## Class: Buffer
+<!-- type=var -->
 
-<!-- type=global -->
+* {String}
 
-* {Function}
+The filename of the code being executed.  This is the resolved absolute path
+of this code file.  For a main program this is not necessarily the same
+filename used in the command line.  The value inside a module is the path
+to that module file.
 
-Used to handle binary data. See the [buffer section][]
+Example: running `node example.js` from `/Users/mjr`
 
-## require()
+```js
+console.log(__filename);
+// /Users/mjr/example.js
+```
 
-<!-- type=var -->
+`__filename` isn't actually a global but rather local to each module.
 
-* {Function}
+## clearImmediate(immediateObject)
 
-To require modules. See the [Modules][] section.  `require` isn't actually a
-global but rather local to each module.
+<!--type=global-->
 
-### require.resolve()
+[`clearImmediate`] is described in the [timers][] section.
 
-Use the internal `require()` machinery to look up the location of a module,
-but rather than loading the module, just return the resolved filename.
+## clearInterval(intervalObject)
 
-### require.cache
+<!--type=global-->
 
-* {Object}
+[`clearInterval`] is described in the [timers][] section.
 
-Modules are cached in this object when they are required. By deleting a key
-value from this object, the next `require` will reload the module.
+## clearTimeout(timeoutObject)
 
-### require.extensions
+<!--type=global-->
 
-* {Array}
+[`clearTimeout`] is described in the [timers][] section.
 
-    Stability: 0 - Deprecated
+## console
 
-Instruct `require` on how to handle certain file extensions.
+<!-- type=global -->
 
-Process files with the extension `.sjs` as `.js`:
+* {Object}
 
-    require.extensions['.sjs'] = require.extensions['.js'];
+Used to print to stdout and stderr. See the [`console`][] section.
 
-**Deprecated**  In the past, this list has been used to load
-non-JavaScript modules into Node by compiling them on-demand.
-However, in practice, there are much better ways to do this, such as
-loading modules via some other Node program, or compiling them to
-JavaScript ahead of time.
+## exports
 
-Since the Module system is locked, this feature will probably never go
-away.  However, it may have subtle bugs and complexities that are best
-left untouched.
+<!-- type=var -->
 
-## __filename
+A reference to the `module.exports` that is shorter to type.
+See [module system documentation][] for details on when to use `exports` and
+when to use `module.exports`.
 
-<!-- type=var -->
+`exports` isn't actually a global but rather local to each module.
 
-* {String}
+See the [module system documentation][] for more information.
 
-The filename of the code being executed.  This is the resolved absolute path
-of this code file.  For a main program this is not necessarily the same
-filename used in the command line.  The value inside a module is the path
-to that module file.
+## global
 
-Example: running `node example.js` from `/Users/mjr`
+<!-- type=global -->
 
-    console.log(__filename);
-    // /Users/mjr/example.js
+* {Object} The global namespace object.
 
-`__filename` isn't actually a global but rather local to each module.
+In browsers, the top-level scope is the global scope. That means that in
+browsers if you're in the global scope `var something` will define a global
+variable. In Node.js this is different. The top-level scope is not the global
+scope; `var something` inside an Node.js module will be local to that module.
 
-## __dirname
+## module
 
 <!-- type=var -->
 
-* {String}
+* {Object}
 
-The name of the directory that the currently executing script resides in.
+A reference to the current module. In particular
+`module.exports` is used for defining what a module exports and makes
+available through `require()`.
 
-Example: running `node example.js` from `/Users/mjr`
+`module` isn't actually a global but rather local to each module.
 
-    console.log(__dirname);
-    // /Users/mjr
+See the [module system documentation][] for more information.
 
-`__dirname` isn't actually a global but rather local to each module.
+## process
 
+<!-- type=global -->
 
-## module
+* {Object}
+
+The process object. See the [`process` object][] section.
+
+## require()
 
 <!-- type=var -->
 
-* {Object}
+* {Function}
 
-A reference to the current module. In particular
-`module.exports` is the same as the `exports` object.
-`module` isn't actually a global but rather local to each module.
+To require modules. See the [Modules][] section.  `require` isn't actually a
+global but rather local to each module.
 
-See the [module system documentation][] for more information.
+### require.cache
 
-## exports
+* {Object}
 
-<!-- type=var -->
+Modules are cached in this object when they are required. By deleting a key
+value from this object, the next `require` will reload the module.
 
-An object which is shared between all instances of the current module and
-made accessible through `require()`.
-`exports` is the same as the `module.exports` object.
-`exports` isn't actually a global but rather local to each module.
+### require.extensions
 
-See the [module system documentation][] for more information.
+    Stability: 0 - Deprecated
 
-See the [module section][] for more information.
+* {Object}
 
-## setTimeout(cb, ms)
+Instruct `require` on how to handle certain file extensions.
 
-Run callback `cb` after *at least* `ms` milliseconds. The actual delay depends
-on external factors like OS timer granularity and system load.
+Process files with the extension `.sjs` as `.js`:
 
-The timeout must be in the range of 1-2,147,483,647 inclusive. If the value is
-outside that range, it's changed to 1 millisecond. Broadly speaking, a timer
-cannot span more than 24.8 days.
+```js
+require.extensions['.sjs'] = require.extensions['.js'];
+```
 
-Returns an opaque value that represents the timer.
+**Deprecated**  In the past, this list has been used to load
+non-JavaScript modules into Node.js by compiling them on-demand.
+However, in practice, there are much better ways to do this, such as
+loading modules via some other Node.js program, or compiling them to
+JavaScript ahead of time.
 
-## clearTimeout(t)
+Since the Module system is locked, this feature will probably never go
+away.  However, it may have subtle bugs and complexities that are best
+left untouched.
 
-Stop a timer that was previously created with `setTimeout()`. The callback will
-not execute.
+### require.resolve()
 
-## setInterval(cb, ms)
+Use the internal `require()` machinery to look up the location of a module,
+but rather than loading the module, just return the resolved filename.
 
-Run callback `cb` repeatedly every `ms` milliseconds. Note that the actual
-interval may vary, depending on external factors like OS timer granularity and
-system load. It's never less than `ms` but it may be longer.
+## setImmediate(callback[, arg][, ...])
 
-The interval must be in the range of 1-2,147,483,647 inclusive. If the value is
-outside that range, it's changed to 1 millisecond. Broadly speaking, a timer
-cannot span more than 24.8 days.
+<!-- type=global -->
 
-Returns an opaque value that represents the timer.
+[`setImmediate`] is described in the [timers][] section.
 
-## clearInterval(t)
+## setInterval(callback, delay[, arg][, ...])
 
-Stop a timer that was previously created with `setInterval()`. The callback
-will not execute.
+<!-- type=global -->
 
-<!--type=global-->
+[`setInterval`] is described in the [timers][] section.
+
+## setTimeout(callback, delay[, arg][, ...])
+
+<!-- type=global -->
 
-The timer functions are global variables. See the [timers][] section.
+[`setTimeout`] is described in the [timers][] section.
 
+[`console`]: console.html
+[`process` object]: process.html#process_process
 [buffer section]: buffer.html
-[module section]: modules.html
 [module system documentation]: modules.html
 [Modules]: modules.html#modules_modules
-[process object]: process.html#process_process
-[stdio]: stdio.html
 [timers]: timers.html
+[`clearImmediate`]: timers.html#timers_clearimmediate_immediateobject
+[`clearInterval`]: timers.html#timers_clearinterval_intervalobject
+[`clearTimeout`]: timers.html#timers_cleartimeout_timeoutobject
+[`setImmediate`]: timers.html#timers_setimmediate_callback_arg
+[`setInterval`]: timers.html#timers_setinterval_callback_delay_arg
+[`setTimeout`]: timers.html#timers_settimeout_callback_delay_arg