First c'est pas très beau comme tu le fais, il vaut mieux se servir des prototypes c'est fait pour. Et par ailleurs c'est étrange d'appeler un objet maFonction donc:
Code :
- function monObjet(prop){
- this.maProp = prop;
- }
- monObjet.prototype.afficherProp = function (){
- alert(this.maProp);
- }
|
Après ce qu'il faut savoir c'est qu'en js la notion d'objet est ... euh ... bizarre. En fait tous les objets sont des tableaux. Du coup les méthodes sont en faite des fonction stockées dans ces tableaux.
C'est là qu'intervient l'instruction for ( truc in machin). Qui fait quoi hein? Et bien elle prends tous les elements contenu dans le tableau machin. Et la miracle si tu mets un objet à la place du tableau
Exemple avec le code donné plus haut:
Code :
- var a = new monObjet('pouet');
- for (var i in a){
- alert('name:'+i+' -- value:'+a[i]);
- }
|
affichera:
maProp -- pouet afficherProp -- {...le code de la fonction ]
|
Reste maintenant la vraie question, je vois pas dans quelque cas tu peux avoir un objet dont tu ignores les methodes
Message édité par anapajari le 07-12-2006 à 16:51:37