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-02-27 20:09:33 +01:00
|
|
|
## global
|
|
|
|
|
|
|
|
<!-- type=global -->
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
* {Object} The global namespace object.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2011-01-17 22:34:22 +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
|
2015-02-07 11:25:13 +01:00
|
|
|
variable. In io.js this is different. The top-level scope is not the global
|
|
|
|
scope; `var something` inside an io.js module will be local to that module.
|
2011-01-17 22:34:22 +01:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## process
|
|
|
|
|
|
|
|
<!-- type=global -->
|
|
|
|
|
|
|
|
* {Object}
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
The process object. See the [process object][] section.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## console
|
|
|
|
|
|
|
|
<!-- type=global -->
|
|
|
|
|
|
|
|
* {Object}
|
2011-04-19 01:52:53 +02:00
|
|
|
|
2013-06-12 01:49:56 +02:00
|
|
|
Used to print to stdout and stderr. See the [console][] section.
|
2011-04-19 01:52:53 +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
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
Used to handle binary data. See the [buffer section][]
|
2011-04-19 01:52:53 +02:00
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## require()
|
|
|
|
|
|
|
|
<!-- type=var -->
|
|
|
|
|
|
|
|
* {Function}
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
To require modules. See the [Modules][] section. `require` isn't actually a
|
|
|
|
global but rather local to each module.
|
2011-04-12 01:48:18 +02:00
|
|
|
|
2010-10-28 14:18:16 +02:00
|
|
|
### 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.
|
|
|
|
|
2011-06-03 08:14:35 +02:00
|
|
|
### require.cache
|
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
* {Object}
|
|
|
|
|
2011-06-03 08:14:35 +02: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-04-17 07:15:51 +02:00
|
|
|
### require.extensions
|
|
|
|
|
2013-04-29 07:10:24 +02:00
|
|
|
Stability: 0 - Deprecated
|
|
|
|
|
2013-04-30 16:40:43 +02:00
|
|
|
* {Object}
|
|
|
|
|
2012-04-17 07:15:51 +02:00
|
|
|
Instruct `require` on how to handle certain file extensions.
|
|
|
|
|
|
|
|
Process files with the extension `.sjs` as `.js`:
|
|
|
|
|
|
|
|
require.extensions['.sjs'] = require.extensions['.js'];
|
|
|
|
|
2013-04-29 07:10:24 +02:00
|
|
|
**Deprecated** In the past, this list has been used to load
|
2015-02-07 11:25:13 +01:00
|
|
|
non-JavaScript modules into io.js by compiling them on-demand.
|
2013-04-29 07:10:24 +02:00
|
|
|
However, in practice, there are much better ways to do this, such as
|
2015-02-07 11:25:13 +01:00
|
|
|
loading modules via some other io.js program, or compiling them to
|
2013-04-29 07:10:24 +02:00
|
|
|
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.
|
|
|
|
|
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-02-07 11:25:13 +01:00
|
|
|
Example: running `iojs 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.
|
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## __dirname
|
|
|
|
|
|
|
|
<!-- type=var -->
|
|
|
|
|
|
|
|
* {String}
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2011-08-31 15:12:34 +02:00
|
|
|
The name of the directory that the currently executing script resides in.
|
2010-10-28 14:18:16 +02:00
|
|
|
|
2015-02-07 11:25:13 +01:00
|
|
|
Example: running `iojs example.js` from `/Users/mjr`
|
2010-10-28 14:18:16 +02:00
|
|
|
|
|
|
|
console.log(__dirname);
|
|
|
|
// /Users/mjr
|
|
|
|
|
2011-04-12 01:48:18 +02:00
|
|
|
`__dirname` isn't actually a global but rather local to each 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
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## exports
|
|
|
|
|
|
|
|
<!-- type=var -->
|
2011-05-19 21:49:29 +02:00
|
|
|
|
2013-10-26 07:03:02 +02:00
|
|
|
A reference to the `module.exports` that is shorter to type.
|
2013-04-08 18:59:15 +02:00
|
|
|
See [module system documentation][] for details on when to use `exports` and
|
|
|
|
when to use `module.exports`.
|
2013-10-26 07:03:02 +02:00
|
|
|
|
2011-05-19 21:49:29 +02:00
|
|
|
`exports` isn't actually a global but rather local to each module.
|
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
See the [module system documentation][] for more information.
|
2012-02-23 09:18:17 +01:00
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
See the [module section][] for more information.
|
2012-02-27 20:09:33 +01:00
|
|
|
|
|
|
|
## setTimeout(cb, ms)
|
2012-07-01 20:09:55 +02:00
|
|
|
|
|
|
|
Run callback `cb` after *at least* `ms` milliseconds. The actual delay depends
|
|
|
|
on external factors like OS timer granularity and system load.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Returns an opaque value that represents the timer.
|
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## clearTimeout(t)
|
2012-07-01 20:09:55 +02:00
|
|
|
|
|
|
|
Stop a timer that was previously created with `setTimeout()`. The callback will
|
|
|
|
not execute.
|
|
|
|
|
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.
|
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
## clearInterval(t)
|
|
|
|
|
2012-07-01 20:09:55 +02:00
|
|
|
Stop a timer that was previously created with `setInterval()`. The callback
|
|
|
|
will not execute.
|
|
|
|
|
2012-02-27 20:09:33 +01:00
|
|
|
<!--type=global-->
|
2011-04-01 18:19:00 +02:00
|
|
|
|
2012-06-06 21:05:18 +02:00
|
|
|
The timer functions are global variables. See the [timers][] section.
|
|
|
|
|
|
|
|
[buffer section]: buffer.html
|
|
|
|
[module section]: modules.html
|
|
|
|
[module system documentation]: modules.html
|
|
|
|
[Modules]: modules.html#modules_modules
|
|
|
|
[process object]: process.html#process_process
|
2013-06-12 01:49:56 +02:00
|
|
|
[console]: console.html
|
2012-06-06 21:05:18 +02:00
|
|
|
[timers]: timers.html
|