J'ai un manque fondamental dans la compréhension de la POO pour javascript. Ce que je comprends est que je peux faire des cours comme celui-ciComment référencer une méthode d'objet dans une autre méthode d'objet
var Car = function(){}
Car.prototype.GetBrand = function(){ return "Ford";}
Car.prototype.GetYear = function(){ return "1989";}
var ford = new Car();
ford.GetBrand();
ford.GetYear();
cela fonctionne ... Maintenant, je veux mettre en œuvre une fonction GetInfo et cela devrait imprimer Marque & Date de
comment puis-je faire référence à la GetBrand() et méthodes GetYear() dans ma méthode GetInfo().
This is not working:
Car.prototype.GetInfo = function(){
return this.GetBrand()+ ' '+ this.GetYear();
}
ce n'est pas le manipulateur droit ... Que manque ici?
modifier OK: c'est un exemple simplifié là ma méthode realy appel est en anothe fonction et c'est la raison pour laquelle nous parlons d'une autre portée:
JsonLoader.prototype.GetJsonAndMerge = function(url,template,tagToAppend){
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
this.ShowItems(data,template,tagToAppend);
}
});
}
je cherche à atteindre ma méthode ShowItems ... ici et cela est à nouveau dans une fonction qui est peut-être la raison pour laquelle le cet opérateur ne fonctionne pas ... désolé pour la confusion =/
bien à quoi sert votre méthode ShowItems? et pourquoi essayez-vous de l'atteindre avec "ceci"? –
Wowzers. C'est un problème complètement différent. Une bonne leçon pour savoir pourquoi vous devriez tester vos cas de test réduits pour vous assurer qu'ils montrent toujours le même problème (avec les mêmes messages d'erreur). – Quentin
@Thomas Shields: ShowItems est aussi (ou devrait être) une méthode membre de JsonLoader, ... JsonLoader.prototype.ShowItems (data, template, tagToAppend) –