J'utilise le code de test suivant:
function Test() { } Test.prototype.MyMethod = { a: function() { }, b: function() { } }
Et pour l'exécuter, je suis en train de faire:
var test = new Test(); console.debug(test);
Dans la console Firebug, je développe l'objet qui a été imprimé et regarde à l'intérieur de __proto__
:
Dans là, trouver une chaîne de constructeur apparemment sans fin -> prototype:
+MyMethod -constructor -prototype +MyMethod -constructor -prototype +MyMethod -constructor
etc. Est-ce que j'ai fait quelque chose de mal ici? Pourquoi la chaîne prototype semble-t-elle sans fin?
prototype
s ont une propriété appelée constructor
qui fait référence à la fonction qui possède le prototype.
Ce cycle est par conception.
Le constructeur du prototype se réfère à lui-même, alors que vous le dévoilez, vous ouvrez simplement la même structure encore et encore. Ce n'est pas réellement "infini".