Merge remote branch 'origin/v0.4'
[platform/upstream/nodejs.git] / doc / api / globals.markdown
1 ## Global Objects
2
3 These object are available in all modules. Some of these objects aren't
4 actually in the global scope but in the module scope - this will be noted.
5
6 ### global
7
8 The global namespace object.
9
10 In browsers, the top-level scope is the global scope. That means that in
11 browsers if you're in the global scope `var something` will define a global
12 variable. In Node this is different. The top-level scope is not the global
13 scope; `var something` inside a Node module will be local to that module.
14
15 ### process
16
17 The process object. See the [process object](process.html#process) section.
18
19 ### console
20
21 Used to print to stdout and stderr. See the [stdio](stdio.html) section.
22
23 ### Buffer
24
25 Used to handle binary data. See the [buffers](buffers.html) section.
26
27 ### require()
28
29 To require modules. See the [Modules](modules.html#modules) section.
30 `require` isn't actually a global but rather local to each module.
31
32
33 ### require.resolve()
34
35 Use the internal `require()` machinery to look up the location of a module,
36 but rather than loading the module, just return the resolved filename.
37
38 ### require.cache
39
40 Modules are cached in this object when they are required. By deleting a key
41 value from this object, the next `require` will reload the module.
42
43
44 ### __filename
45
46 The filename of the script being executed.  This is the absolute path, and not necessarily
47 the same filename passed in as a command line argument.
48
49 Example: running `node example.js` from `/Users/mjr`
50
51     console.log(__filename);
52     // /Users/mjr/example.js
53
54 `__filename` isn't actually a global but rather local to each module.
55
56 ### __dirname
57
58 The dirname of the script being executed.
59
60 Example: running `node example.js` from `/Users/mjr`
61
62     console.log(__dirname);
63     // /Users/mjr
64
65 `__dirname` isn't actually a global but rather local to each module.
66
67
68 ### module
69
70 A reference to the current module. In particular
71 `module.exports` is the same as the `exports` object. See `src/node.js`
72 for more information.
73 `module` isn't actually a global but rather local to each module.
74
75
76 ### exports
77
78 An object which is shared between all instances of the current module and
79 made accessible through `require()`.
80 `exports` is the same as the `module.exports` object. See `src/node.js`
81 for more information.
82 `exports` isn't actually a global but rather local to each module.
83
84 ### setTimeout(cb, ms)
85 ### clearTimeout(t)
86 ### setInterval(cb, ms)
87 ### clearInterval(t)
88
89 The timer functions are global variables. See the [timers](timers.html) section.