Vous devez toujours utiliser des variables locales sauf si vous avez explicitement besoin de la persistance globale et de l'accès global. Dans ce cas particulier, vous devriez utiliser des variables locales (la deuxième option). Dans le cas où vous êtes curieux, les variables locales sont légèrement plus rapides à accéder que les variables globales dans la plupart des moteurs JS car la portée locale est recherchée avant les autres portées plus haut, mais ce n'est pas la raison pour choisir local vs. .
Toujours utiliser les variables locales, sauf si vous avez explicitement besoin de variables globales. Et puis, lorsque vous utilisez des variables globales, vous devez choisir des noms qui ne seront pas en conflit avec quoi que ce soit d'autre sur votre page Web ou dans votre projet ou dans les bibliothèques que vous utilisez. Je nomme la portée de presque toutes les variables globales dans un objet pour éviter tout conflit avec d'autres globales. De plus, n'utilisez JAMAIS des variables globales explicitement déclarées (je les appelle accidentelles) comme dans votre premier exemple. Si vous voulez une variable globale, déclarez-la à l'échelle globale.
Si vous avez besoin d'une variable pour survivre d'un appel de fonction .each()
à l'autre, vous pouvez définir un niveau, mais encore une variable locale comme ceci:
function myFunction() {
var maxHeight = 0;
$('.myClass').each(function(){
var myC = $(this);
if (myC.height() > maxHeight) {
maxHeight = myC.height();
}
}
// maxHeight is set here
}
locale, toujours .. – Raynos