s/buffers/buffer/
[platform/upstream/nodejs.git] / doc / api / globals.markdown
1 # Global Objects
2
3 <!-- type=misc -->
4
5 These objects are available in all modules. Some of these objects aren't
6 actually in the global scope but in the module scope - this will be noted.
7
8 ## global
9
10 <!-- type=global -->
11
12 * {Object} The global namespace object.
13
14 In browsers, the top-level scope is the global scope. That means that in
15 browsers if you're in the global scope `var something` will define a global
16 variable. In Node this is different. The top-level scope is not the global
17 scope; `var something` inside a Node module will be local to that module.
18
19 ## process
20
21 <!-- type=global -->
22
23 * {Object}
24
25 The process object. See the [process object](process.html#process) section.
26
27 ## console
28
29 <!-- type=global -->
30
31 * {Object}
32
33 Used to print to stdout and stderr. See the [stdio](stdio.html) section.
34
35 ## Buffer
36
37 <!-- type=global -->
38
39 * {Object}
40
41 Used to handle binary data. See the [buffer section](buffer.html).
42
43 ## require()
44
45 <!-- type=var -->
46
47 * {Function}
48
49 To require modules. See the [Modules](modules.html#modules) section.
50 `require` isn't actually a global but rather local to each module.
51
52
53 ### require.resolve()
54
55 Use the internal `require()` machinery to look up the location of a module,
56 but rather than loading the module, just return the resolved filename.
57
58 ### require.cache
59
60 * {Object}
61
62 Modules are cached in this object when they are required. By deleting a key
63 value from this object, the next `require` will reload the module.
64
65 ## __filename
66
67 <!-- type=var -->
68
69 * {String}
70
71 The filename of the code being executed.  This is the resolved absolute path
72 of this code file.  For a main program this is not necessarily the same
73 filename used in the command line.  The value inside a module is the path
74 to that module file.
75
76 Example: running `node example.js` from `/Users/mjr`
77
78     console.log(__filename);
79     // /Users/mjr/example.js
80
81 `__filename` isn't actually a global but rather local to each module.
82
83 ## __dirname
84
85 <!-- type=var -->
86
87 * {String}
88
89 The name of the directory that the currently executing script resides in.
90
91 Example: running `node example.js` from `/Users/mjr`
92
93     console.log(__dirname);
94     // /Users/mjr
95
96 `__dirname` isn't actually a global but rather local to each module.
97
98
99 ## module
100
101 <!-- type=var -->
102
103 * {Object}
104
105 A reference to the current module. In particular
106 `module.exports` is the same as the `exports` object. See `src/node.js`
107 for more information.
108 `module` isn't actually a global but rather local to each module.
109
110
111 ## exports
112
113 <!-- type=var -->
114
115 An object which is shared between all instances of the current module and
116 made accessible through `require()`.
117 `exports` is the same as the `module.exports` object. See `src/node.js`
118 for more information.
119 `exports` isn't actually a global but rather local to each module.
120
121 See the [module system documentation](modules.html) for more
122 information.
123
124 See the [module section](modules.html) for more information.
125
126 ## setTimeout(cb, ms)
127 ## clearTimeout(t)
128 ## setInterval(cb, ms)
129 ## clearInterval(t)
130
131 <!--type=global-->
132
133 The timer functions are global variables. See the [timers](timers.html) section.