2010-12-08 5 views
18

Possible en double:
Difference between using var and not using var in JavaScriptjavascript var ou non var, quelle est la différence?

Salut à tous

Déclarant var myVar; avec var mot-clé ou la déclaration myVar sans elle.

Cela pourrait être une question stupide pour certains, mais je suis dans un processus d'apprentissage avec javascript.

Parfois, en lisant le code d'autres personnes, je vois que certaines variables sont déclarées sans le 'var' à l'avant. Juste pour souligner, ces variables ne sont même pas déclarées en tant que paramètres d'une fonction.

Alors, quelle est la différence entre déclarer une variable avec ou sans le mot clé 'var'?

Merci beaucoup

Répondre

23

Si vous ne l'utilisez pas, il pourrait être une variable globale, ou dans le cas de IE, il vous reste plus qu'à faire exploser.

Il y a des cas où vous n'en avez pas besoin, par exemple s'il s'agit d'un paramètre de la fonction dans laquelle vous vous trouvez, il est déjà déclaré. Toujours utilisez var dans tous les autres cas (les autres cas étant: sauf si vous manipulez une variable qui existe déjà). Quelle que soit la portée sur laquelle il doit être défini, explicitement le définit ici.

14

Tout est une question de portée. Techniquement vous pouvez omettre var mais considérer ceci:

myVar = "stuff"; 

function foo() { 
    myVar = "junk"; //the original myVar outside the function has been changed 
} 

function bar() { 
    var myVar = "things" //A new scoped myvar has been created internal to the function 
} 
+4

Vous ne pouvez pas "techniquement l'omettre", certains navigateurs * le permettent *, il y a une différence. IE explose quand vous faites cela, comme il se doit. –

+0

Commentaire @Nick juste, j'ai formulé ce mauvais –

+0

Oh et en passant, je ne suggérais pas que vous omettez jamais var, je disais juste que vous pouvez vous en sortir. Utiliser var rend votre code plus facile à lire et à déboguer, prenez l'habitude de l'utiliser. –

Questions connexes