Files
freeCodeCamp/guide/spanish/javascript/global-variables/index.md

68 lines
2.6 KiB
Markdown
Raw Normal View History

2018-10-12 15:37:13 -04:00
---
title: Global Variables
localeTitle: Variables globales
---
Las variables globales se declaran fuera de una función para accesibilidad en todo el programa, mientras que las variables locales se almacenan dentro de una función usando `var` para uso solo dentro del [alcance de](https://developer.mozilla.org/en-US/docs/Glossary/Scope) esa función. Si declara una variable sin usar `var` , incluso si está dentro de una función, aún se verá como global:
```javascript
var x = 5; //global
function someThing(y) {
var z = x + y;
console.log(z);
}
function someThing(y) {
x = 5; //still global!
var z = x + y;
console.log(z);
}
function someThing(y) {
var x = 5; //local
var z = x + y;
console.log(z);
}
```
Una variable global también es un objeto del alcance actual, como la ventana del navegador:
```javascript
var dog = “Fluffy”;
console.log(dog); //Fluffy;
var dog = “Fluffy”;
console.log(window.dog); //Fluffy
```
Esta es una práctica muy eficaz para minimizar variables globales. Dado que se puede acceder a la variable en cualquier parte del programa, pueden causar un comportamiento extraño.
2018-10-12 15:37:13 -04:00
Referencias:
* [var -Javascript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var)
* [No sabes JavaScript: alcances y cierres](https://github.com/getify/You-Dont-Know-JS/tree/master/scope%20%26%20closures)
Información adicional:
* [Mejores Prácticas de JavaScript: Evitar Globales](http://www.w3.org/wiki/JavaScript_best_practices#Avoid_globals)
## \* [¿Cuál es la diferencia entre una var global y una ventana.variable en javascript?](https://stackoverflow.com/questions/6349232/whats-the-difference-between-a-global-var-and-a-window-variable-in-javascript)
El alcance de las variables de JavaScript es global o local. Las variables globales se declaran FUERA de la función y su valor es accesible / modificable en todo el programa.
SIEMPRE se deberia de usar **var** para declarar sus variables (para que aparezcan localmente) de lo contrario, se instalará GLOBALLY(GLOBALMENTE)
2018-10-12 15:37:13 -04:00
Tenga cuidado con las variables globales porque son riesgosas. La mayoría de las veces debes usar cierres para declarar tus variables. Ejemplo:
2018-10-12 15:37:13 -04:00
```javascript
(function(){
var myVar = true;
})();
```
#### Más información:
* [Mejores Prácticas de JavaScript: Evitar Globales](http://www.w3.org/wiki/JavaScript_best_practices#Avoid_globals)
* [Las variables globales son malas](http://c2.com/cgi/wiki?GlobalVariablesAreBad)
* [MDN - Variables globales](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var)