2012-02-27 20:09:33 +01:00
|
|
|
# Global Objects
|
|
|
|
|
|
|
|
<!-- type=misc -->
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2011-08-31 15:12:34 +02:00
|
|
|
These objects are available in all modules. Some of these objects aren't
|
2011-04-12 01:48:18 +02:00
|
|
|
actually in the global scope but in the module scope - this will be noted.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-03-04 08:38:52 +01:00
|
|
|
## Class: Buffer
|
2012-02-27 20:09:33 +01:00
|
|
|
|
|
|
|
<!-- type=global -->
|
|
|
|
|
2012-03-04 08:38:52 +01:00
|
|
|
* {Function}
|
2011-07-15 22:11:14 +02:00
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
Used to handle binary data. See the [buffer section][].
|
2011-04-19 01:52:53 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
## __dirname
|
2012-02-27 20:09:33 +01:00
|
|
|
|
|
|
|
<!-- type=var -->
|
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
* {String}
|
2012-04-17 07:15:51 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
The name of the directory that the currently executing script resides in.
|
2012-04-17 07:15:51 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
Example: running `node example.js` from `/Users/mjr`
|
2012-04-17 07:15:51 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
console.log(__dirname);
|
|
|
|
// /Users/mjr
|
2013-04-29 07:10:24 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
`__dirname` isn't actually a global but rather local to each module.
|
2013-04-29 07:10:24 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## __filename
|
|
|
|
|
|
|
|
<!-- type=var -->
|
2011-06-03 08:14:35 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
* {String}
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2011-08-31 15:12:34 +02:00
|
|
|
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.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-08-13 18:14:34 +02:00
|
|
|
Example: running `node example.js` from `/Users/mjr`
|
2010-10-28 14:18:16 +02:00
|
|
|
|
|
|
|
console.log(__filename);
|
|
|
|
// /Users/mjr/example.js
|
|
|
|
|
2011-04-12 01:48:18 +02:00
|
|
|
`__filename` isn't actually a global but rather local to each module.
|
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
## clearInterval(t)
|
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
Stop a timer that was previously created with [`setInterval()`][]. The callback
|
2015-11-04 18:12:06 +01:00
|
|
|
will not execute.
|
|
|
|
|
|
|
|
<!--type=global-->
|
|
|
|
|
|
|
|
The timer functions are global variables. See the [timers][] section.
|
|
|
|
|
|
|
|
## clearTimeout(t)
|
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
Stop a timer that was previously created with [`setTimeout()`][]. The callback will
|
2015-11-04 18:12:06 +01:00
|
|
|
not execute.
|
|
|
|
|
|
|
|
## console
|
|
|
|
|
|
|
|
<!-- type=global -->
|
|
|
|
|
|
|
|
* {Object}
|
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
Used to print to stdout and stderr. See the [`console`][] section.
|
2015-11-04 18:12:06 +01:00
|
|
|
|
|
|
|
## exports
|
2012-02-27 20:09:33 +01:00
|
|
|
|
|
|
|
<!-- type=var -->
|
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
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`.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
`exports` isn't actually a global but rather local to each module.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
See the [module system documentation][] for more information.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
## global
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
<!-- type=global -->
|
|
|
|
|
|
|
|
* {Object} The global namespace object.
|
2011-04-12 01:48:18 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
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.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## module
|
|
|
|
|
|
|
|
<!-- type=var -->
|
|
|
|
|
|
|
|
* {Object}
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2010-11-23 20:14:20 +01:00
|
|
|
A reference to the current module. In particular
|
2013-10-26 07:03:02 +02:00
|
|
|
`module.exports` is used for defining what a module exports and makes
|
|
|
|
available through `require()`.
|
|
|
|
|
2011-04-14 18:54:36 +02:00
|
|
|
`module` isn't actually a global but rather local to each module.
|
2011-04-01 18:19:00 +02:00
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
See the [module system documentation][] for more information.
|
2012-02-23 09:18:17 +01:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
## process
|
|
|
|
|
|
|
|
<!-- type=global -->
|
|
|
|
|
|
|
|
* {Object}
|
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
The process object. See the [`process` object][] section.
|
2015-11-04 18:12:06 +01:00
|
|
|
|
|
|
|
## require()
|
2012-02-27 20:09:33 +01:00
|
|
|
|
|
|
|
<!-- type=var -->
|
2011-05-19 21:49:29 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
* {Function}
|
2013-10-26 07:03:02 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
To require modules. See the [Modules][] section. `require` isn't actually a
|
|
|
|
global but rather local to each module.
|
2011-05-19 21:49:29 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
### require.cache
|
2012-02-23 09:18:17 +01:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
* {Object}
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
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.
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
### require.extensions
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
Stability: 0 - Deprecated
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
* {Object}
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
Instruct `require` on how to handle certain file extensions.
|
|
|
|
|
|
|
|
Process files with the extension `.sjs` as `.js`:
|
|
|
|
|
|
|
|
require.extensions['.sjs'] = require.extensions['.js'];
|
|
|
|
|
|
|
|
**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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
### require.resolve()
|
|
|
|
|
|
|
|
Use the internal `require()` machinery to look up the location of a module,
|
|
|
|
but rather than loading the module, just return the resolved filename.
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## setInterval(cb, ms)
|
2012-07-01 20:09:55 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Returns an opaque value that represents the timer.
|
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
## setTimeout(cb, ms)
|
2012-07-01 20:09:55 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
Run callback `cb` after *at least* `ms` milliseconds. The actual delay depends
|
|
|
|
on external factors like OS timer granularity and system load.
|
2011-04-01 18:19:00 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
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.
|
2012-06-06 21:05:18 +02:00
|
|
|
|
2015-11-04 18:12:06 +01:00
|
|
|
Returns an opaque value that represents the timer.
|
2015-11-14 04:21:49 +01:00
|
|
|
|
2015-11-28 00:30:32 +01:00
|
|
|
[`console`]: console.html
|
|
|
|
[`process` object]: process.html#process_process
|
|
|
|
[`setInterval()`]: #globals_setinterval_cb_ms
|
|
|
|
[`setTimeout()`]: #globals_settimeout_cb_ms
|
2015-11-14 04:21:49 +01:00
|
|
|
[buffer section]: buffer.html
|
|
|
|
[module system documentation]: modules.html
|
|
|
|
[Modules]: modules.html#modules_modules
|
|
|
|
[timers]: timers.html
|