Maison  >  Article  >  interface Web  >  Problèmes de variables, de portée et de mémoire en JavaScript

Problèmes de variables, de portée et de mémoire en JavaScript

PHP中文网
PHP中文网original
2017-06-22 13:37:311012parcourir

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 circulaires

Ce 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn