Maison >interface Web >js tutoriel >Problèmes de variables, de portée et de mémoire en JavaScript
1. Types de base et types de référence
Types de base : les valeurs sont stockées dans des variables (Nombre, Chaîne, Booléen, Non défini, Null). Occupe une taille fixe d'espace dans la mémoire et est stocké dans la mémoire de la pile
Type de référence : La valeur est un objet stocké dans la mémoire ; le fonctionnement réel de l'objet opérationnel est la référence de l'objet plutôt que l'objet réel. Enregistrer dans la mémoire du tas
Copier la valeur de la variable :
>
2. Portée L'extrémité avant de la chaîne de portée est toujours la variable objet de l'environnement où se trouve le code actuellement exécuté. L'objet variable suivant de la chaîne de portée provient de l'environnement conteneur suivant et continue vers l'environnement d'exécution global. Pas de portée au niveau bloc (disponible en es6) 3. Garbage collection JavaScript dispose d'un mécanisme automatique de garbage collection. Le principe est de retrouver ceux qui ne le sont plus. variable utilisée puis libérer la mémoire qu’elle occupe. Les variables locales n'existent que lors de l'exécution de la fonction. Au cours de ce processus, l'espace correspondant sera alloué aux variables locales sur la mémoire de la pile (ou du tas) pour stocker leurs valeurs. Une fois l'exécution des fonctions terminée, leur mémoire peut être libérée. Stratégie de récupération de place : Suppression des marques : (couramment utilisée) le garbage collector marquera toutes les variables stockées dans la mémoire au moment de l'exécution, puis il supprimera les variables de l'environnement et du marquage des variables référencées par des variables dans l'environnement, et les variables marquées après cela seront traitées comme des variables prêtes à être supprimées Comptage de références : (pas couramment utilisé) garde une trace de chaque valeur référencée fois, ce qui posera des problèmes lors de la rencontre de références circulairesCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!