Maison > interface Web > js tutoriel > Introduction à l'encapsulation d'objets primitifs dans les compétences JavaScript_javascript

Introduction à l'encapsulation d'objets primitifs dans les compétences JavaScript_javascript

WBOY
Libérer: 2016-05-16 16:23:00
original
1182 Les gens l'ont consulté

En JavaScript, les chaînes, les nombres et les booléens sont tous des types primitifs, c'est-à-dire que les chaînes, les nombres et les valeurs booléennes n'existent pas sous forme d'objets. Cependant, étant donné que ces trois types primitifs de valeurs doivent être exploités, JavaScript encapsulera automatiquement ces trois types de valeurs et en fera des objets avec des propriétés et des méthodes. En prenant la chaîne comme exemple, ce processus d'encapsulation est le suivant :

1. Lorsque JavaScript rencontre un accès à un attribut ou une invocation de méthode d'une valeur de chaîne, il appellera une nouvelle chaîne (valeur de chaîne) pour encapsuler automatiquement la chaîne dans un objet String.
2. JavaScript accédera aux propriétés ou méthodes de cet objet nouvellement créé et renverra les résultats correspondants.
3. Une fois l'accès à l'attribut ou l'appel de méthode terminé, JavaScript détruira immédiatement l'objet nouvellement créé.

En prenant le code suivant comme exemple, cela n'a aucun sens d'écrire des propriétés dans un objet String créé automatiquement par JavaScript, car l'objet créé n'existe plus une fois l'instruction d'écriture terminée :


Copier le code Le code est le suivant :

var s = "test";
s.longueur = 9;
console.log(s.length);//toujours 4
s.newVariable = 9;
console.log(s.newVariable);//undéfini
console.log(s === "test");//true

Il convient de noter que la variable s dans le code ci-dessus représente toujours une chaîne primitive. L'objet chaîne créé automatiquement par JavaScript existe dans le processus d'exécution de l'opération s.length ou s.newVariable. Cela peut être vérifié à partir de la dernière ligne de code de l'expérience ci-dessus.

En plus d'encapsuler automatiquement les valeurs primitives, les développeurs peuvent également choisir d'effectuer le processus correspondant manuellement. Contrairement à l'encapsulation automatique, l'objet obtenu par encapsulation manuelle ne sera pas détruit immédiatement, donc l'opération d'écriture de propriété effectuée pour l'objet encapsulé manuellement est significative :


Copier le code Le code est le suivant :

var t = new String("test");
t.longueur = 9;
console.log(t.length);//toujours 4, car l'attribut length est en lecture seule
t.newVariable = 9;
console.log(t.newVariable);//9

console.log(t == "test");//true
console.log(t === "test");//false

É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