2010-11-24 9 views
1

Je stockais des variables séparément, par exemple, si j'avais un ancien élément je le sauvegarderais dans une variable appelée "ele_old", et plus tard si j'avais un nouvel élément, je le sauvegarderais dans une variable appelée "ele_new" . Cependant, juste pour moi que je peux enregistrer les 2 variables dans 1 variable tableau, pour que je puisse faire quelque chose comme ceci:javascript: tableau de variables ou variables séparées?

eles_arr['old'] = //old element; 
eles_arr['new'] = //new element; 

cette façon me permettrait de mettre les variables du même type dans le même tableau pour une meilleure organisation, par exemple éléments ensemble dans 1 tableau, puis ids ensemble dans un autre tableau. Le problème est que je suis assez nouveau pour javascript (et d'autres langages de programmation, d'ailleurs), donc je me demande si c'est une façon inférieure à la simple séparation de chaque variable. Cela va-t-il causer des problèmes? par exemple, une mauvaise performance d'exécution?

Merci!

+0

En quoi consiste le tag HTML entre ces deux instructions JavaScript? –

+0

@Sime: Je pense que BigName ne sait pas comment mettre en forme des blocs de code. Je l'ai édité pour lui. – RoToRa

+0

oui, désolé à ce sujet. btw, quelle est la bonne façon d'insérer un saut de ligne? – BigName

Répondre

1

Ce que vous faites est de définir des propriétés sur l'objet eles_arr. Il est semblable à dire:

eles_arr.oldEl = //old element 
eles_arr.newEl = //new element 

Ce n'est pas les stocker dans un tableau, il est donc semblable à avoir les variables séparées - ils sont juste regroupés dans l'objet eles_arr. Pour les mettre dans un tableau que vous feriez:

eles_arr.push(oldEl); 
eles_arr.push(newEl); 

Cela dit, je ne mettrais pas ces deux variables dans un tableau. Je les garderais séparés pour augmenter la lisibilité. Il peut vous sembler logique d'avoir les valeurs dans le même tableau, et vous pouvez vous souvenir de leur positionnement. Cependant, d'autres développeurs peuvent ne pas le faire, ce qui pourrait entraîner des problèmes dans le futur. Finalement, avoir un tableau de deux valeurs pour «ancien» et «nouveau» n'affectera en rien les performances dans votre cas, mais je ne recommanderais toujours pas d'utiliser un tableau pour des raisons de lisibilité.

Mise à jour

j'ai changé les variables de 'ancienne' et 'nouveau'-'oldEl' et 'nouveauEl' pour refléter le commentaire de Šime sur le mot-clé réservé 'nouveau' .

+0

'new' est un mot réservé. Il ne peut pas être utilisé comme nom de propriété. –

+0

@Sime: Oui j'allais le mentionner, mais j'ai gardé le même nom de propriété afin qu'il puisse facilement comparer la différence entre ce qu'il avait et ce que je proposais. Je vais faire la mise à jour. – McStretch

0

Vous pouvez utiliser un objet pour créer un espace de noms/module, et ainsi de réduire le nombre de variables globales/locales:

var eles = {}; 

eles.foo = document.getElementById("foo"); 
eles.bar = document.getElementById("bar"); 

Mais ce qui fait sans doute de sens que si vous avez comme 20 éléments ou plus et vous besoin d'eux dans divers gestionnaires d'événements/fonctions. Dans ce cas, il est logique de créer l'espace de noms eles et de le remplir avec toutes vos références d'éléments.

Questions connexes