Dans JavaScript, comment obtenir son objet prototype si nous avons un objet mais que nous ne connaissons pas son constructeur?
Dans Chrome ou Firefox Browser, nous pouvons utiliser directement l'attribut __Proto__ de l'objet pour obtenir son objet Prototype.
La copie de code est la suivante:
<! - Lang: JS ->
fonction f () {};
var foo = new f ();
alert (foo .__ proto__ == f.prototype);
Cependant, l'attribut __proto__ n'est pas pris en charge dans le navigateur IE avant IE11.
Donc, dans les navigateurs qui ne prennent pas en charge l'attribut __proto__, comment pouvons-nous obtenir l'objet prototype de l'objet? Il peut être obtenu indirectement par le constructeur.
La copie de code est la suivante:
<! - Lang: JS ->
fonction f () {};
var foo = new f ();
alert (foo.constructor.prototype == f.prototype);
L'attribut de constructeur n'est pas l'attribut de l'objet, mais est obtenu à partir de l'objet prototype vers le haut le long de la chaîne prototype. Cette propriété pointe vers le constructeur correspondant à cet objet prototype. La propriété prototype du constructeur pointe vers l'objet Prototype, afin que nous puissions l'obtenir indirectement.
Ce qui précède consiste à obtenir des objets prototypes dans JavaScript. J'espère que tout le monde aime ça.