Bonjour,
j'essaie en ce moment de faire quelque chose d'un minimum construit en javascript et je me bute à un souci que j'ai un peu de mal à comprendre. La question a peut-être été déjà posée, mais je n'ai rien trouvé de mon côté.
Je créé des objets par cette méthode :
Que je peux par la suite instancier ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Object= (function () { var truc= function(name) { // Constructor if (name) { this.setTruc(name); } }; truc.prototype = { table : [], addTable : function (name, url, x, y) { this.table [String(name)] } getTable : function (name, url, x, y) { this.table [String(name)] } }; return { truc: truc }; })();
Peu importe comment j'instancie les objets, ils utilisent tous le même tableau derrière ... C'est à dire que quand je fais un getTable par exemple, il me retourne tout ce que j'ai mis, que ce soit dans personnage ou dans personnage2, aucune différence est faite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var personnage = new Object.truc(); personnage.addTable ('test'); var personnage2 = new Object.truc(); personnage2.addTable ('2'); personnage2.addTable ('test3'); personnage2.getTable ();
Est-ce le javascript qui est comme ça ou j'utilise mal les notions objets de ce langage ? C'est assez surprenant, vu que je viens de d'autres langages objets. Y a t'il des solutions pour arriver à faire ce que je voudrais ? C'est à dire séparer une instance d'une autre ?
Merci !
Partager