Maison  >  Article  >  interface Web  >  Introduction détaillée aux objets js

Introduction détaillée aux objets js

零下一度
零下一度original
2017-06-28 09:36:061362parcourir

a. Les objets JS sont tous des tableaux associatifs

b.hériter(); renvoie un nouvel objet qui hérite des propriétés de l'objet prototype p

méthode objet. :

Créer (créer) Définir (définir) Rechercher (requête) Supprimer (supprimer) Tester (tester) et énumérer (énumérer)

Méthodes pour créer des objets :

Objet Mot-clé littéral new Object.create()

dans es5 var aa=Object.create({"x":0,"y":1})

Lecture des attributs Récupération et modification :

1. Les attributs de connexion Through. ne peuvent pas être modifiés et ne peuvent pas être modifiés au moment de l'exécution

2. Through object['xxx']; a]; a peut être une variable, donc l'attribut n'est pas défini et peut être modifié pendant l'opération

3. Interroger un attribut qui n'existe pas renverra un défini

4. Interroger un objet propriété, si l’objet n’existe pas, une erreur sera générée. Si vous interrogez les attributs d'un objet et l'empêchez de signaler une erreur, vous pouvez faire ceci :

 var a=b&&b.c&&b.c.d;

Suppression des attributs

1. La suppression ne peut qu'interrompre l'ouverture de la connexion entre l'hôte et l'objet hôte sans utiliser les propriétés des propriétés globales des objets créées via des déclarations de variables ou des déclarations de fonction. True est renvoyé en cas de succès, false est renvoyé en cas d'échec.

 delete a.b//a n'a plus l'attribut b

delete a['b']//a n'a plus l'attribut b

Détection de l'attribut

Opérateur 1.in, hasOwnProperty(),propertyIsEnumerable()

 Le nom de la propriété sur le côté gauche de in, qui est l'objet. Si les attributs propres ou hérités de l'objet contiennent cet attribut, retournez. true, sinon false

 var a={x :1} a.hasOwnPreperty('x');//true

PropertyIsEnumerable() est une version améliorée de hasOwnPreperty() Uniquement le. la propriété qui est énumérable et appartient à cet objet retournera true

 2. Le moyen le plus simple ! ==Est-ce indéfini

Énumération des attributs

 1. Tous les attributs ajoutés à l'objet dans le code sont énumérables, et nous devons ignorer certains attributs dans for/in

 for(p in o){

 if(!o.hasOwnproperty(p)) continue ;//Ignorer les propriétés héritées

 }

for(p in o) {

 if(typeof o[p]==="function") continue ;//Skip method

  }

 2. Dans Il y a deux autres fonctions dans es5

Object.keys();//Renvoie un tableau composé des propriétés énumérables propres de l'objet

Object.getOwnPropertyNames(); //Renvoie les noms de tous les propres propriétés dans l'objet

Attribut getter et setter (attribut accesseur)

 1.var 0={

 a:1,/ / Attributs de données ordinaires

  //Les attributs accesseurs sont des fonctions définies par paires

 get b(){voici le corps de la fonction},

 set c(){Voici le corps de la fonction >

   }

Trois attributs de l'objet

1. Attributs du prototype :

 var p ={x:1};//Définir un prototype object

 var o=Object.create(p); Utiliser ce prototype pour créer un objet

 p.isPrototypeOf(0);// true,o ​​​​hérite de p

 Object.prototype.isPrototypeOf(o);//p hérite de Object.prototype

 2. Attribut de classe

 3. Extensibilité Déterminez si l'objet est extensible en passant l'objet dans Object.esExtensible()

 Object.prevenExtensions() passe l'objet converti en tant que paramètre, et il deviendra non extensible. Notez que la réussite de conversion ne peut pas être reconvertie

 Object.seal. () peut non seulement définir l'objet comme non extensible, mais également définir toutes ses propres propriétés comme non configurables

 isSealed() détecte l'objet s'il est fermé

 Object.freeze( ) Gelé, non seulement non configurable, mais aussi lisible

 Object.isFrozen() Vérifiez si l'objet est gelé

Sérialisation de l'objet

 1:JSON.stringify();/ /Convertir en chaîne JSON

 2::JSON.parse();//Convertir en objet

Méthode objet :

1.toString();

2.toLocaleString();

3.toJSON();

4:valueOf();

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