Las variables y las declaraciones de variables son los conceptos más básicos de un lenguaje y los principiantes los dominarán rápidamente. Lo mismo ocurre con la declaración de variables en JavaScript, es muy simple var (palabra clave) + nombre de variable (identificador).
Camino 1
prueba de var;
var test = 5; Cabe señalar que esta oración no se puede incluir en la función, de lo contrario será una variable local. Esta es la primera forma de declarar variables globales.
Camino 2
prueba = 5;
Sin usar var, asigne directamente un valor a la prueba del identificador, que declarará implícitamente la prueba de variable global. Incluso si la declaración está dentro de una función, la prueba se convierte en una variable global cuando se ejecuta la función.
Camino 3
ventana.prueba;
window.test = 5; este método se usa a menudo para exponer algunas funciones al mundo después de ejecutar una función anónima. Como la última oración en JQuery1.5
ventana.jQuery = ventana.$ = jQuery;
Si solo usa la prueba de variables, no habrá diferencia entre los tres métodos. Por ejemplo: alerta(prueba) mostrará 5. Sin embargo, en algunos casos existen diferencias entre los tres métodos. Declare tres variables a1, a2, a3 de las tres formas anteriores respectivamente.
a1 = 11;
var a2 = 22;
ventana.a3 = 33;
1. para en la ventana
para (a en la ventana) {
si(a=='a1'||a=='a2'||a=='a3'){
alerta (una)
}
}
IE6/7/8/9: solo aparece a3, lo que indica que las variables globales declaradas a través del primer y segundo método no se pueden obtener en la ventana.
Firefox/Chrome/Safari/Opera: aparecen a1, a2 y a3, lo que indica que las variables globales declaradas de tres maneras se pueden obtener a través de la ventana for.
2.eliminar
intentar {
alerta (eliminar a1);
}catch(e){alert('No se puede eliminar a1')}
intentar{
alerta (eliminar a2);
}catch(e){alert('No se puede eliminar a2')}
intentar{
alerta (eliminar a3);
}catch(e){alert('No se puede eliminar a3')}
Los resultados son los siguientes
Como se puede ver,
1. eliminar a2 es falso en todos los navegadores. Es decir, las variables declaradas mediante var no se pueden eliminar y todos los navegadores se comportan igual. Esto también se menciona en el libro de Rhino.
2. Las variables globales declaradas a través de window.a3 no se pueden eliminar en IE6/7/8, pero se pueden eliminar en IE9/Firefox/Chrome/Safari/Opera.
Aunque existen diferencias en los dos puntos anteriores, cuando se utilizan en funcionamiento, ambos devuelven verdadero.
alerta('a1' en la ventana);//verdadero
alerta('a2' en la ventana);//verdadero
alert('a3' en la ventana);//true
Cuando se usa with para abrir el cierre de la ventana del objeto, todos los navegadores se comportan igual, de la siguiente manera
con(ventana){
si(a1){
alerta(a1);//11
}
si(a2){
alerta(a2);//22
}
si(a3){
alerta(a3);//33
}
}