Bonjour tout le monde !

voici mon problème: j'ai une variable qui est crée lors de l'affichage de la page (jusqu'à là, rien de bien compliqué ^^). mais cette variable doit être mise a jour dans une fonction qui est executé lors d'une action faite par l'utilisateur. Cette variable doit être utlisée dans une autre fonction qui sera elle aussi executé par une autre action de l'utilisateur.

(j'utilise Jquery)
voici un peu de code pour comprendre: (c'est pas le code entier sinon vous metteriez trop longtemps a comprendre mon raisonnement ^^)

var Mavariable = "Quelquechose";

function function1(){ /* FONCTION EXECUTE LORS D'UN EVENEMENT */
    /* SCRIPT */
    Mavariable = "Autrechose";
};

function function2(){ /* FONCTION EXECUTE LORS D'UN AUTRE EVENEMENT */
    /* J'AI BESOIN DE Mavariable !!! */
};

3 réponses


betaWeb
Réponse acceptée

Salut,

Alors il y a plusieurs solutions. Perso je la stocke dans l'objet window, qui accessible globalement.

window.Mavariable = "Quelquechose";

function function1(){ /* FONCTION EXECUTE LORS D'UN EVENEMENT */
    /* SCRIPT */
    window.Mavariable = "Autrechose";
};

function function2(){ /* FONCTION EXECUTE LORS D'UN AUTRE EVENEMENT */
    /* J'AI BESOIN DE Mavariable !!! */
};

Ou alors encore plus simple, tu passes 'Mavariable' comme argument de function2 => function2(Mavariable)

Il y a pleins d'autres solution, sûrement plus optimales.

Au faite, lorsque vous déclarez une variable dans un « contexte » global, il sera nécessairement dans l'objet window.

var test = 123;

console.log(test);
console.log(window.test);

// > 123
// > 123

@Ramzz1994 Oui, ces deux notation sont équivalentes effectivement. Après c'est une bonne notation "pour s'y retrouver" que de préfixer avec 'window' :)