Bonjour,
En plein découverte du Js, je lis pas mal de tutos à droite à gauche, mais je me rend compte que l'auto-formation c'est aussi un moyen de s'auto-embrouiller...
Si j’ai bien compris, en Js, si j'écris par exemple:
Je peut aussi écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function machine(P_piece, P_rouage){ this.D_piece = P_piece; this.D_rouage = P_rouage; this.M_methode = function(P_planche){ return this.D_piece+this.D_rouage+P_planche; } } var meuble_ikea = new machine(40,10); alert(meuble_ikea.M_methode(15)); //Affiche 65
Constatation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function machine(P_piece, P_rouage){ this.D_piece = P_piece; this.D_rouage = P_rouage; } var meuble_ikea = new machine(40,10); machine.prototype.bricole = function(P_planche){ return this.D_piece+this.D_rouage+P_planche; } alert(meuble_ikea.bricole(40)); //Affiche 90
Mais du coup, la seule différence notable que je vois avec la première solution, c'est que j'ai déclaré la méthode bricole hors de mon constructeur.
Questions :
* Il n'y a pas plus d'impacts que ça ? Je peut juste décider de remplir mon constructeur, ou bien de l'éclater en prototype ?
* Si je construits des prototypes hors de mon constructeur, sont-ils déclarés à chaque nouvelles instances comme si je les avais construis DANS le constructeur ?
* Vaut-il-mieux/Vaut-il mieux-pas abuser des prototypes ?
* Les prototypes peuvent-il représenter un risque pour les données membres ?
* Chocolatine ou pain au chocolat ?
Partager