Maison > interface Web > js tutoriel > Type de données JS + type de référence, copie profonde et superficielle et problèmes d'allocation de mémoire

Type de données JS + type de référence, copie profonde et superficielle et problèmes d'allocation de mémoire

php中世界最好的语言
Libérer: 2018-04-18 13:59:26
original
1279 Les gens l'ont consulté

Cette fois, je vais vous présenter les problèmes du type de données+type de référence, copie profonde et superficielle et allocation de mémoire, et les précautions d'utilisation des types de données JS+type de référence copie profonde et superficielle et allocation de mémoireQu'est-ce que c'est ? Voici des cas réels.

Problème de copie profonde et superficielle js

La copie superficielle fait généralement référence au type de copie de base

La copie profonde fait généralement référence à la copie du type référence, et la valeur du type référence est également copiée

Exemple

La sessionStorage de h5 ne peut stocker que des string, donc lorsque vous souhaitez stocker json, vous devez utiliser JSON.stringify() pour convertir json en chaîne. utilisez JSON.parse() pour le convertir en données json

Inconvénients : JSON.parse et JSON.stringify ne prennent en charge que IE9+ et supérieur

Pour résoudre ce problème, vous pouvez utiliser la méthode de copie du rapport de profondeur

Problèmes d'allocation de mémoire (tas et pile) en js

Les types de base en js sont généralement stockés sur la pile. Ces types occupent chacun une taille fixe d'espace dans la mémoire, et leurs valeurs sont stockées dans l'espace de pile, auquel nous accédons par valeur.

Les types de référence sont des données de taille variable, mais leur taille d'adresse est fixe, donc l'adresse est stockée sur la pile et la valeur est stockée sur le tas

1. Mémoire de pile : stocke les types de base. Mémoire tas : stocke les types de référence (stocke une valeur de type de base dans la mémoire de pile pour enregistrer l'adresse de l'objet dans la mémoire tas, qui est utilisée pour référencer cet objet.)

2. Le type de base est détruit à la fin de l'environnement d'exécution actuel, mais le type de référence ne sera pas détruit à la fin de l'environnement d'exécution. Cet objet sera recyclé par le mécanisme de récupération de place uniquement lorsque toutes les variables faisant référence. ça n'existe pas.

Types de données de base js et types de référence

Les types de données de base incluent un nombre, une chaîne booléenne, un symbole nul non défini

Type de données de référence : fonction array obj

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :



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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal