Hallo ragazo/ragaza,
J'ai quelques doutes quand à la possibilité de trouver une réponse claire à cette question, parce qu'évidement les navigateurs ne se comportent certainement pas tous de la même manière. Mais peut-être certaines personnes auront-elles aux moins des informations valables pour InternetExplorer.
La question :
Un « constructeur » peut attacher une « méthode » à un « objet » de deux manières (je met tout entre guillemet... parce que franchement qui oserait dire que JavaScript est un labgage orienté objet ?).
Sans ordre de préférences, les deux manières de faire sont les suivantes.
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function Class () { this.method = method; function method () { // The method code comes here } }
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function Class () { this.method = Class_method; } function Class_method () { // The method code comes here }
J'ai personnellement une préférence pour la première manière de faire (inutile d'en donner les raisons ici). Mais je me demande si elle présente oui ou non des risque de consomation de mémoire inutile. En clair : est-ce que le code de la méthode sera dupliqué autant de fois que d'objets seront créés ? Bien sûr, la méthode restera toujours attacher par référence : mais le navigateur va t-il à chaque fois donner une référence à une copie du code ou donnera t-il une référence à une seule instance du code ?
Pensez au cas où de nombreux « objets » sont créés ....
Cette question venant bien sûr dans le soucis d'économie de la mémoire ...
Award (récompense) : la reconnaissance de la communauté developpez.net à toutes personnes qui aurait des informations fiables sur ce délit de gaspillage potentiel.
P.S. Pas terrible la nouvelle manière d'afficher les section de code sur le forum : sur IE, la boite de code est deux fois plus large que le code lui-même... pas fameuxC'était bien mieux comme c'était avant
Partager