À ma connaissance, les objets JavaScript sont ramassés périodiquement lorsqu'il ne reste plus de références à l'objet. C'est quelque chose qui se produit automatiquement, mais si vous voulez en savoir plus sur la façon dont cela fonctionne, au niveau du C++, il est judicieux de jeter un coup d'œil à la page de l'application WebKit ou Code source V8
En général, vous n'avez pas besoin d'y penser, mais dans les anciens navigateurs, comme IE 5.5 et les premières versions d'IE 6, et peut-être les versions actuelles, les fermetures créent des références circulaires qui, lorsqu'elles ne sont pas vérifiées, finissent par consommer de la mémoire. Dans le cas particulier dont je parle à propos des fermetures, c'est lorsque vous ajoutez une référence JavaScript à un objet DOM, et un objet à un objet DOM qui renvoie à l'objet JavaScript. En fait, ces fuites ne pouvaient jamais être collectées et finissaient par rendre le système d'exploitation instable dans les applications de test qui tournaient en boucle pour créer des plantages. En pratique, ces fuites sont généralement faibles, mais pour garder votre code propre, vous devriez supprimer la référence JavaScript à l'objet DOM.
En général, c'est une bonne idée d'utiliser le mot-clé delete pour déréférencer immédiatement les gros objets comme les données JSON que vous avez reçues en retour et dont vous avez fait ce que vous deviez en faire, en particulier dans le développement Web mobile. Cela permet au prochain balayage du GC de supprimer cet objet et de libérer sa mémoire.
3 votes
Voir aussi stackoverflow.com/questions/774357/garbage-collection
1 votes
Voir aussi comment fonctionne le garbage collection de javascript ?