Les variables et les déclarations de variables sont les concepts les plus fondamentaux d'un langage, et les débutants les maîtriseront rapidement. Il en va de même pour déclarer des variables en JavaScript, c'est très simple var (mot clé) + nom de la variable (identifiant).
Voie 1
test var ;
var test = 5; A noter que cette phrase ne peut pas être incluse dans la fonction, sinon ce sera une variable locale. C'est la première façon de déclarer des variables globales.
Voie 2
essai = 5 ;
Sans utiliser var, attribuez directement une valeur à l'identifiant test, qui déclarera implicitement la variable globale test. Même si l'instruction se trouve dans une fonction, test devient une variable globale lorsque la fonction est exécutée.
Voie 3
fenêtre.test;
window.test = 5; Cette méthode est souvent utilisée pour exposer certaines fonctions au monde après l'exécution d'une fonction anonyme. Comme la dernière phrase de JQuery1.5
fenêtre.jQuery = fenêtre.$ = jQuery ;
Si vous utilisez simplement le test des variables, il n'y aura aucune différence entre les trois méthodes. Par exemple : alert(test) affichera 5. Il existe cependant des différences entre les trois méthodes dans certains cas. Déclarez respectivement trois variables a1, a2, a3 des trois manières ci-dessus.
a1 = 11 ;
var a2 = 22 ;
fenêtre.a3 = 33 ;
1. pour la fenêtre
pour(une dans la fenêtre){
si(a=='a1'||a=='a2'||a=='a3'){
alerte(a)
}
}
IE6/7/8/9 : seul a3 apparaît, indiquant que les variables globales déclarées via les première et deuxième méthodes ne peuvent pas être obtenues via la fenêtre for in.
Firefox/Chrome/Safari/Opera : a1, a2 et a3 apparaissent tous, indiquant que les variables globales déclarées de trois manières peuvent être obtenues via for in window.
2.supprimer
essayer {
alerte (supprimer a1);
}catch(e){alert('Impossible de supprimer a1')}
essayer{
alerte (supprimer a2);
}catch(e){alert('Impossible de supprimer a2')}
essayer{
alerte (supprimer a3);
}catch(e){alert('Impossible de supprimer a3')}
Les résultats sont les suivants
Comme vous pouvez le voir,
1. delete a2 est faux dans tous les navigateurs. Autrement dit, les variables déclarées via var ne peuvent pas être supprimées et tous les navigateurs se comportent de la même manière. Ceci est également mentionné dans le livre Rhino.
2. Les variables globales déclarées via window.a3 ne peuvent pas être supprimées dans IE6/7/8, mais elles peuvent être supprimées dans IE9/Firefox/Chrome/Safari/Opera.
Bien qu'il existe des différences entre les deux points ci-dessus, lors de l'utilisation en fonctionnement, les deux renvoient vrai.
alert('a1' dans la fenêtre);//true
alert('a2' dans la fenêtre);//true
alert('a3' dans la fenêtre);//true
Lorsque vous utilisez with pour ouvrir la fermeture de la fenêtre de l'objet, tous les navigateurs se comportent de la même manière, comme suit
avec(fenêtre){
si(a1){
alerte(a1);//11
}
si(a2){
alerte(a2);//22
}
si(a3){
alerte(a3);//33
}
}