Declaration "var" et variable globale

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Declaration "var" et variable globale

par JS » 20 juil. 2006, 11:50

oki merci! c'est ce que je pensait!
:wink:

par Ryle » 20 juil. 2006, 10:33

Non non, ca ne fait pas d'erreur, au contraire, le var permet justement de distinguer les variables locales des globales dans une fonction.

Toute varibale qui est initialisée dans une fonction en utilisant le mot clé "var" est définie localement. Si une variable est initialisée dans une fonction sans le mot clé "var", elle est définie comme globale.

Avec var dans la fonction :
var a = 10;

disp_a();
function disp_a() {
   var a = 20; // locale
   alert(a); // affiche 20
}

alert(a); // affiche 10
Sans var dans la fonction :
var a = 10;

disp_a();
function disp_a() {
   a = 20; // globale
   alert(a); // affiche 20
}

alert(a); // affiche 20
En dehors des fonctions, il n'y a pas de différences avec ou sans var, mais bon ca reste une bonne habitude de l'y coller ;)

par zeus » 20 juil. 2006, 10:09

Normalement, quand tu n'as pas var ma_var, tu devrais avoir une erreur.

C'est ce qui me fait dire que si tu n'as pas var, c'est que ta variable est importé d'un fichier externe ou est défini à l'appel d'une fonction et non pas l'inverse.

Declaration "var" et variable globale

par JS » 20 juil. 2006, 10:00

Bonjour à tous!

Je me posait une question.
Esce que lorsque l'on ne declare pas une variable javascript avec var
(exemple : var mavariable = 0) dans un fonction elle est considerer comme une variable globale!
Parce que j'ai l'impression que c'est le cas des mes applications!

Merci!