Variables JavaScript déclarer à l'extérieur ou à l'intérieur de la boucle?

En AS3, je crois, il faut initialiser toutes les variables à l'extérieur des boucles pour des performances accrues. Est-ce le cas avec du JavaScript? Ce qui est mieux /rapide /best-practice?

var value = 0;

for (var i = 0; i < 100; i++)
{
    value = somearray[i];
}

ou

for (var i = 0 ; i < 100; i++)
{
    var value = somearray[i];
}
À l'extérieur! toujours à l'extérieur.
Hmm, ne pas les déclarations de variables obtenir poussé à la portée de la fonction, de toute façon dans les deux Javascript et AS3? Si je suis correct, alors il n'a vraiment pas d'importance.
avez-vous essayez d'assigner avant de déclarer dans un corps de fonction? Peut-être que vos préjugés vous mènent à s'égarer. WRT performance, avec des push-up de portée, si le JS est interpretted, puis il vous mâcher supplémentaire des cycles à l'intérieur d'une boucle de bloc. Si compilé (dont la plupart des moteurs de nos jours), il ne sera pas question.
Excellente question! Merci. Après avoir lu toutes les réponses, je crois que si c'est juste une petite boucle ou seulement une variable temp je vais les garder là où ils sont nécessaires et il n'a pas d'effet de la performance. Si une variable est utilisée dans une fonction plus d'une fois, pourquoi ne pas se référer à l'intérieur de la fonction et enfin globals alors peut-être assis à l'extérieur de la fn()
Je suis surpris que personne n'a essayé de mesurer la performance. J'ai créé un jsperf. Semble être un peu plus vite lorsqu'ils sont déclarés à l'intérieur de la boucle pour Safari et Firefox, c'est l'inverse pour Chrome...

OriginalL'auteur davivid | 2010-09-10