web-dev-qa-db-fra.com

Comment bien gérer les variables globales?

J'ai un certain nombre de pages ASPX (50+). Je dois déclarer un nombre (5-7) des variables globales dans chacune de ces pages. Variables dans une page indépendante des autres pages, même si certaines pourraient être identiques.

Actuellement, je déclare au sommet de la page et à l'extérieur de toute fonction.

Devrais-je aborder cela différemment et y a-t-il des effets secondaires de cette approche?

Si précis dupliquer, merci de me le faire savoir. Merci

38
kheya

Il est préférable de ne pas encombrer la portée globale. En particulier puisque d'autres cadres ou scripts d'abaissement peuvent polluer ou écraser vos varès.

Créez un espace de noms pour vous-même

http://www.javascriptoolbox.com/bestpractices/#namespace

Plus ici: https://stackoverflow.com/search?q=namespace+javascript+global

Quelques exemples utilisant différentes méthodes de réglage des VARS

myOwnNS = {}; // or window.myOwnNS
myOwnNS.counter = 0;
myOwnNS["page1"] = { "specificForPage1":"This is page 1"}
myOwnNS.page2 = { "specificForPage2":"This is page 2", "pagenumber":2}
myOwnNS.whatPageAmIOn = function { return location.href.substring(location.href.lastIndexOf('page')+4)}
38
mplungjan

Une approche serait de déclarer la variable sur le niveau "Root", c'est-à-dire en dehors de tout blocage de code avant tout autre code JS tente d'y accéder.

Vous pouvez définir des variables globales à l'aide de window.variablename = value; Pour le garder propre superficiellement au moins.

1
Ravikiran