Je dois avoir une sorte d'incompréhension fondamentale de la façon dont les objets fonctionnent en Javascript parce que je n'arrive pas à comprendre pourquoi ce qui suit. Vous pouvez voir le jsFiddle du code ci-dessous ici: http://jsfiddle.net/VivekVish/8Qvkn/1/Obtenir le type d'un objet en Javascript quand son prototype reçoit une instance d'un autre objet
Notez que est utilise la fonction getName définie ici: How do I get the name of an object's type in JavaScript?
Object.prototype.getName = function()
{
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec((this).constructor.toString());
return (results && results.length > 1) ? results[1] : "";
};
function ContentProvider()
{
}
function LessonProvider()
{
console.log(this.getName());
}
lessonProvider1 = new LessonProvider();
LessonProvider.prototype = new ContentProvider();
lessonProvider2 = new LessonProvider();
Le code ci-dessus produit les éléments suivants à la console:
LessonProvider
ContentProvider
Mais pourquoi n'est-ce pas LessonProvider dans les deux cas et h Comment peut-on en faire LessonProvider dans les deux cas?