Maison  >  Article  >  interface Web  >  Introduction aux types de données de base et aux types de référence js, ainsi qu'aux problèmes de copie profonde et superficielle et d'allocation de mémoire

Introduction aux types de données de base et aux types de référence js, ainsi qu'aux problèmes de copie profonde et superficielle et d'allocation de mémoire

巴扎黑
巴扎黑original
2017-09-04 10:24:451329parcourir

L'éditeur suivant vous présentera une brève discussion sur les types de données de base et les types de référence de js, les problèmes de copie profonde et superficielle et les problèmes d'allocation de mémoire. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur pour jeter un oeil

Problème de copie profonde et superficielle de js

La copie superficielle fait généralement référence à la copie de types de base

La copie complète fait généralement référence à la copie du type référence, et copie également la valeur du type référence

Exemple

la sessionStorage de h5 ne peut stocker que des chaînes , il doit donc être stocké. Lorsque vous utilisez json, vous devez utiliser JSON.stringify() pour convertir json en chaîne, puis utiliser JSON.parse() pour convertir les 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

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

Les types de base en js sont généralement stockés dans 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 dans la pile et la valeur est stockée dans le tas

1. Mémoire de pile : stocke la base. genres. 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. à la fin de l'environnement d'exécution actuel. Le type référence ne sera pas détruit à la fin de l'environnement d'exécution. L'objet sera recyclé par le mécanisme de garbage collection uniquement lorsque toutes les variables qui y font référence n'existeront plus.

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 obj de tableau

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