Otro consejo, define SIEMPRE las variables. Si no defines una variable dentro de una función esta se comporta como una variable global y puedes tener problemas.
Código Javascript
:
Ver originalfunction myFunction1() {
myVar = true;
}
console.log(myVar); // Esto te dará true
function myFunction2() {
if ( !myVar ) {
console.log( "Hola soy tu función 2"); // Esto no se mostrará porque myVar es true.
}
}
Código Javascript
:
Ver originalfunction myFunction1() {
var myVar = true;
}
console.log(myVar); // Esto te dará undefined
function myFunction2() {
if ( !myVar ) {
console.log( "Hola soy tu función 2"); // Esto se mostrará porque myVar es undefined
}
}
Como puedes ver, la variable myVar tiene un scope global en el primer ejemplo, mientras que en el segundo ejemplo solo tiene valor dentro de myFunction1.
A priori, en los ejemplos puesto puede no ser trascendente, pero cuando tengas muchos archivos de script dentro de la página las variables globales pueden ser alcanzadas por todos y puedes tener resultados inresperados.
Mi consejo, utiliza variables globales solo lo justo y necesario y cuando las uses identifícalas de alguna manera que no puedas confundirla luego con variables normales dentro de las funciones. Por ejemplo:
Código Javascript
:
Ver originalvar _GLOB_myVar1 = "Esta es mi variable global 1";
var _GLOB_myVar2 = "Esta es mi variable global 2";
function myFunction() {
var myVar1 = "Esta es mi variable 1 para esta función";
var myVar2 = "Esta es mi variable 2 para esta función";
}