Pour ta premi�re question, il existera toujours UNE et UNE seule instance de la fonction "sogood".
Tandis que la fonction dosomething ne sera d�clar� que lorsqu'un objet sera instanci� et sera propre � cet objet, c'est � dire qu'il existera une fonction "dosomething" pour chaque objet instanci�.
1 2 3 4 5 6 7 8 9
| ex:
var p1 = new Player('bodo1');
var p2 = new Player('bodo2');
if( p1.dosomething == p2.dosomething ){
// FALSE
}
if( p1.sogood == p2.sogood ){
// TRUE
} |
ne pas dupliquer une fonction (avec les prototypes) permet notament d'�pargner pas mal de placer et d'ex�cution lors que tu cr�es des quantit�s cons�quentes d'objets.
tu peux tester si une fonction (ou attribut) est propre � un objet grace � la m�thode "hasOwnProperty"
p1.hasOwnProperty('sogood'); // false
l'avantage de red�clarer une m�thode � l'int�rieur de l'objet peut par exemple �tre utile pour acc�der � des champs priv�s comme les getters.
1 2 3 4 5 6 7 8 9
| function Player(name){
var _name = name;
this.getName = function(){
return _name;
};
}
Player.prototype.getNameProto = function(){
return _name; // ne fonctionnera pas
}; |
Partager