43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Global Object
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								The global object is an object that is initialized by the JavaScript interpreter before the code is executed. All variables that are declared on the global scope (see: <a href='http://forum.freecodecamp.com/t/scopes-in-javascript/14696' target='_blank' rel='nofollow'>Scopes</a>) are stored in the global object as properties.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In a Node.js environment, the global object can be accessed by the `global` keyword, while in a browser window it can be accessed by the `window` keyword. The `this` keyword also refers to the global object when used in the global scope. Please note that using `this` in the global scope will return `undefined` if `strict mode` is enabled.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For example:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```javascript
							 | 
						||
| 
								 | 
							
								// global scope
							 | 
						||
| 
								 | 
							
								var foo = "bar";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								console.log(global.foo); // bar (in a Node environment)
							 | 
						||
| 
								 | 
							
								console.log(window.foo); // bar (in a browser window)
							 | 
						||
| 
								 | 
							
								console.log(this.foo); // bar (if strict mode is disabled)
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The distinction between scopes local to functions and the global scope is important here: the global object only contains the variables that were declared on the global scope, not the local scopes of functions.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The global object also contains the properties `NaN`, `undefined` and `Infinity` and the following functions:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								1.  `decodeURI()`
							 | 
						||
| 
								 | 
							
								2.  `decodeURIComponent()`
							 | 
						||
| 
								 | 
							
								3.  `encodeURI()`
							 | 
						||
| 
								 | 
							
								4.  `encodeURIComponent()`
							 | 
						||
| 
								 | 
							
								5.  `escape()`
							 | 
						||
| 
								 | 
							
								6.  `eval()`
							 | 
						||
| 
								 | 
							
								7.  `GetObject()`
							 | 
						||
| 
								 | 
							
								8.  `isFinite()`
							 | 
						||
| 
								 | 
							
								9.  `isNaN()`
							 | 
						||
| 
								 | 
							
								10.  `parseFloat()`
							 | 
						||
| 
								 | 
							
								11.  `parseInt()`
							 | 
						||
| 
								 | 
							
								12.  `ScriptEngine()`
							 | 
						||
| 
								 | 
							
								13.  `ScriptEngineBuildVersion()`
							 | 
						||
| 
								 | 
							
								14.  `ScriptEngineMajorVersion()`
							 | 
						||
| 
								 | 
							
								15.  `ScriptEngineMinorVersion()`
							 | 
						||
| 
								 | 
							
								16.  `unescape()`
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# References
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								1.  MSDN: <a href='https://msdn.microsoft.com/en-us/library/52f50e9t' target='_blank' rel='nofollow'>Global Object (Javascript)</a>
							 |