|
|
|
|
Bonjour,
Je voudrais savoir comment est ce qu'on peut faire pour declarer une variable globale, et comment on peut y acceder durant toute notre connexion ... ( comme $_SESSION en PHP ) ...
moi j'ai declaré une variable globale dans un script,et quand je l'appelle à partir d'un autre script, ça marche pas il me dit que ma variable n'est pas definie ...
en fait c'est un peu bizarre mon truc parce que dans le script j'ai deux variable globale :
tableauJS = new array()
i=0;
tableauJS marche nickel aucun probleme, j'y accede partout mais le probleme c'est ma variable i ...
c'est un peu louche non ?
Merci d'avance
Configuration: Windows XP Firefox 3.0.5
Salut,
function foo() {
var n;
// ...
}
n sera locale à la fonction foo. Si tu utilises var à la "racine" de ton script, elle est en fait locale à window, ce qui est équivalent à globale. Ton problème vient, je pense, d'un changement de portée. Par exemple : i = 7;
function change() {
var i = 5;
// ici i == 5
}
// ici i == 7
Lorsque tu testes ton i, tu es peut-être à un niveau où il a été redéfini. Ou inversement, il a été défini dans un niveau qui n'est plus accessible : function def() {
var i = 11;
}
alert(i); // ici, i n'est plus à portée
En tout cas, j'ai fait des tests avec un tableau, déclaré avec ou sans new, ça ne change rien. Ce n'est pas parce que c'est un tableau qu'il est "plus facilement" global. Refais tes tests, et donne-moi des nouvelles ;) |
Eh bien, c'est la "zone", ou encore la "portée" de la variable, son "degré de localité". Je ne sais pas comment l'expliquer bien … Petit schéma :
// niveau global
function machin () {
// niveau de la fonction machin
var a;
while (...) {
// niveau de la boucle while
var b;
}
}
Une variable locale à un niveau n'est pas visible au niveau supérieur, par exemple ici a n'est pas visible depuis le niveau global, et b n'est visible ni par le niveau machin ni par le niveau global. Regarde ceci : http://performance.survol.fr/2008/05/portee-des-variables-javascript/ ;) |
Oui cela je l'avais compri mais je parlais par rapport à mon code ...
|
Bof … moi j'ai jamais recours aux cookies, je trouve ça trop instable. Les sessions PHP ont été conçues pour faciliter le passage des données entre les pages, autant s'en servir !
|