Maison  >  Article  >  interface Web  >  Discussion sur la différence entre var et no var lors de la définition de variables dans les connaissances javascript_Basic

Discussion sur la différence entre var et no var lors de la définition de variables dans les connaissances javascript_Basic

WBOY
WBOYoriginal
2016-05-16 16:41:321257parcourir

Regardons d'abord un morceau de code

function show(){ 
alert(abc); 
} 
var abc="defg"; 
show();

Les personnes ayant de l'expérience en programmation C ou Java peuvent dire : "Ce programme est mort. La variable est définie après la fonction qui référence la variable. Le bug va vous tuer." Exécutez-le sur le navigateur. Quel est le résultat ? Fonctionne parfaitement ! Parlons ensuite de ce qui se passe : la différence entre les variables définies avec var et sans var.

1. Pas de variable

Pour faire simple, il n'est pas prudent d'omettre var lors de la définition d'une variable, mais c'est légal. À ce stade, quel que soit l'endroit où la variable est définie, l'interpréteur lui donnera une portée globale.

2. Il y a var

Sûr et légal. La portée d'une variable définie dépend de l'endroit où elle est définie. Quant à la portée spécifique, veuillez vous référer à l'article « Portée Javascript » de ce blog.

De cette façon, le problème du début peut être résolu. Ce qui se trouve à l'intérieur de la fonction est la définition de abc, mais la valeur n'est pas définie pour le moment, abc a une portée globale et ce qui se trouve à l'extérieur de la fonction n'est qu'une mise à jour de la valeur de abc.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn