Dans cette fonction d'exemple simple :
doSomething = function(withThisId) {
var videos = getVideos(), // tableau de vidéos
discovered = false
;
for(var i = 0; i < 50000; i++) {
var keepToCheck = videos[i];
if(keepToCheck.id == withThisId) {
discovered = true;
break;
}
}
return discovered;
};
J'aimerais savoir si :
-
À l'intérieur de la boucle
for
, nous initialisons une nouvelle variable appeléekeepToCheck
à chaque itération et l'utilisons ensuite. Cela signifie-t-il qu'une nouvelle variable est créée à chaque fois, donc potentiellement nous avons la possibilité de 50 000 variableskeepToCheck
existant en mémoire (jusqu'à ce que le GC le nettoie) ?Ou le moteur JS est-il suffisamment intelligent pour savoir que la variable peut être réutilisée et ne pas créer de doublons ?
-
Y a-t-il un avantage en termes de performance si nous initialisons
var keepToCheck
en dehors de la bouclefor
et ensuite le définissons simplement commekeepToCheck = videos[i];
?
J'ai essayé de rechercher cela mais je ne trouve pas de suggestions sur le net.