cs_Thanatos
Messages postés12Date d'inscriptionvendredi 11 janvier 2002StatutMembreDernière intervention21 novembre 2008
-
21 nov. 2008 à 12:00
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 2010
-
22 nov. 2008 à 03:53
Bonjour,
Un exemple valant mieux qu'un long discours, j'ai une classe "Personne" ayant plusieurs propriétés comme Nom, Prenom, Age, Adresse etc ..
Je voudrais creer une fonction qui puisse affecter automatiquement la bonne propriétés à une valeur desirée un peu comme ceci :
function Affecte ( prop, val) {
Personne.prop = val ;
}
Bien entendu, ce code ne marche mais existe-t-il une méthode pour réaliser ce type de fonction ?
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 22 nov. 2008 à 03:53
Il y a une distinction à faire entre une classe et un objet. Une classe c'est un modèle que tous les objets suivent. Quand tu utilises la valeur "Personne", tu fais référence à la classe et non à un objet, ce qui voudrait dire que tu modifies le modèle. Ce que tu as probablement voulu faire est ceci :
Personne.prototype.Affecte = function (prop, val) {
this.prop = val;
}
"Personne.prototype.Affecte", ceci permet d'ajouter une méthode à ton objet. Le reste qui suit déclare la méthode et l'initialise. Ton "Personne" initiale a été changé par "this" qui fait référence à l'objet courant sur lequel la méthode est exécuté.