Les objets d'objet dans JavaScript sont la classe de base de tous les objets en js, c'est-à-dire que tous les objets en js sont dérivés d'objets d'objet. Les objets d'objet sont principalement utilisés pour encapsuler des données arbitraires sous forme d'objet.
1. Introduction à la classe d'objets
La classe d'objets est la classe de base (classe parent) de toutes les classes JavaScript, offrant un moyen facile de créer des objets personnalisés sans obliger les programmeurs à définir les constructeurs.
2. Propriétés principales de la classe d'objets
1.CONSTRUCTEUR: constructeur d'objets.
2.Protype: Obtenez l'objet prototype de la classe, propriété statique.
3. Méthodes principales de classe d'objets
1.HasownProperty (PropertyName)
Détermine si l'objet a un attribut spécifique. Cette propriété doit être spécifiée avec une chaîne, par exemple, obj.hasownproperty ("nom"), renvoyant une valeur booléenne. Cette méthode ne peut pas vérifier si la chaîne prototype de l'objet a cette propriété; Ce doit être un membre de l'objet lui-même.
var str = ""; alert ("str.hasownproperty (/" Split / ") est:" + str.hasownproperty ("Split")); // return falsalerert ("string.prototype.hasownproperty (/" Split / ") est:" + string.prototype.hasownproperty ("Split")); // retourne vraiRésultats en cours:
L'utilisation de HasownProperty n'est pas seulement ici. Dans jQuery, une étape indispensable d'écriture des plug-ins consiste à initialiser les paramètres. L'une des méthodes très importantes est $ .extend (); Son principe est d'appliquer la méthode HasownProperty (); Utilisez pour Loop pour traverser les membres de l'objet, s'il y a des membres d'objet du même nom, s'il y en a, remplacez l'ancien par le nouveau membre de l'objet. De cette façon, nous pouvons modifier les changements de paramètres dans la méthode pour contrôler le processus du programme. Pour les pièces qui n'ont pas changé, nous pouvons toujours utiliser la valeur par défaut pour la contrôler. Nous pouvons également simuler cette fonction d'étendue, comme suit
Fonction Extend (Target, Source) {// Target Old Source Nouveau pour (var I dans Source) {if (Target.HasownProperty (i)) {Target [i] = Source [i];}} return Target;} var A = {"First":, "Second": "Lyl", "Third": "bob"}; var b = {"troisième": "leo"}; a) {alert (a [i]); // à l'origine c'était Bob, mais maintenant il est devenu leo}2.Sprototypeof (objet)
Déterminez si l'objet est un prototype d'un autre objet.
obj1.isprototypeof (obj2);
Obj1 est une instance d'un objet; OBJ2 est un autre objet qui vérifiera sa chaîne prototype. Les chaînes prototypes peuvent être utilisées pour partager les fonctionnalités entre les différentes instances du même type d'objet. Si la chaîne de prototype d'Obj2 contient OBJ1, la méthode isPrototypeOF renvoie true. Si OBJ2 n'est pas un objet ou OBJ1 n'apparaît pas dans la chaîne prototype dans OBJ2, la méthode isPrototypeOf renvoie false.
<script type = "text / javascript"> function foo () {this.name = 'foo';} function bar () {} bar.prototype = new foo (); var goo = new Bar (); alert (goo.name); //fooAlert(bar.prototype.isprototypeof(goo) ;//true, s'il y a l'objet actuel goo dans la chaîne de barre prototype, alors la méthode isprototype de renvoie true </cript>3.PropertySenumableable (PropertyName)
Grâce à cette méthode, nous pouvons détecter si le membre de cet objet est traversable. S'il est traversable, il prouve que cet objet peut être traversé à l'aide d'un FOR en boucle.
Le format est le suivant: Obj.PropertySenumerable (PropertyName)
Si PropertyName existe dans OBJ et peut être énuméré de manière exhaustive à l'aide d'un pour… en boucle, alors la propriété PropertySennumable revient vrai. Si l'objet n'a pas la propriété spécifiée ou si la propriété spécifiée n'est pas énumérable, la propriété PropertySenumable Renvoie False. En règle générale, les propriétés prédéfinies ne sont pas énumérées, tandis que les propriétés définies par l'utilisateur sont toujours énumérées.
4.ToString (): Renvoyez la chaîne correspondant à l'objet
5.Valueof (): Renvoie le type d'origine correspondant à l'objet
Les 5 méthodes ci-dessus sont définies sur Object.Protype. Tous les objets dans ECMAScript sont hérités de l'objet, donc tous les objets sur ECMascript ont plusieurs méthodes.
Code de test 1:
var p = nouveau objet (); // Créer un objet directement via l'objet // attribut dynamique p.age =; p.name = "克到到到到" pour les objets p; // étendez la classe d'objets et ajoutez une méthode show object.prototype.show = function () {alert (this.age + "/ t" + this.name);} alert (p.age); p.show (); docum ent.write ("<pre>"); document.writeln ("P.Constructor:" + P.Constructor); // Obtenez le constructeur de l'objet Document.Writeln ("Object.prototype:" + Object.prototype); // Obtenir l'objet prototype, le prototype est une propriété statique, et ne peut être passée par le nom de la classe. Document.Writeln ("P.SprototypeOf (P):" + P.SprototypeOf (P)); Document.Writeln ("P.HasownProperty (/" Age / "):" + P.HasownProperty ("Age")); Document.Writeln ("P.Property Isenumerable (/" Age / "): "+ p.propertyisenuable (" age ")); document.writeln (" p.toString (): "+ p.tostring ()); document.writeln (" p.valueof (): "+ p.valueof ()); document.write (" </pre> "); document.write (" </ pre> ");Résultats en cours:
Code de test 2:
var car = function () {}; car.prototype.hello = function () {alert ("hello car");}; var car = new Car (); car.f = function () {alert ("Method personnalisé");} document.write ("<pre>"); document.writeln ("car.hasownproperty (/" f / ") est: "+ car.HasownProperty (" f ")); // ture, l'objet de voiture a un document de méthode f. Document.Writeln ("car.HasownProperty (/" Hello / ")" + Car.HasownProperty ("Hello")); // FAUX, car la voiture elle-même n'a pas la méthode Hello Document.Writeln ("Car.PropertySenumerable (/" Hello / ") Le résultat est:" + Car.PropertySenumerable ("Hello")); // false, sans cette méthode, bien sûr, le résultat de document.writeln ("car.constructor.prototype.hasownproperty (/" hello / ") est:" + car.constructor.prototype.hasownproperty ("bonjour")); // Vrai, le prototype de la voiture de classe Car a le Hello Method Document.Writeln ("car.Constructor.prototype.propertyiSenuablem (/" Hello / ") et le résultat est:" + Car.Constructor.prototype.propertyisenumArable ("Hello")); // true, le prototype de la méthode Hello de la voiture de voiture est l'énumérable est l'énumeré Document.Writeln ("car.prototype.hasownproperty (/" Hello / ") et le résultat est:" + car.prototype.hasownproperty ("bonjour")); // true, le prototype de Car Class Car a la méthode Hello Document.Writeln ("Car.prototype.propertyisenumem (/" Hello / ") Le résultat est: le résultat est: "+ Car.prototype.propertyiSenumable (" Hello ")); document.write (" </pre> ");Résultats en cours:
Ce qui précède est une explication détaillée de la classe d'objets dans JS que l'éditeur vous a présenté, y compris le résumé des points de connaissance JavaScript (Eleven). J'espère que cela vous sera utile.