Dans la création d'objets en javascript, je peux mettre une déclaration de méthode dans le constructeur de la fonction ou dans le prototype. Par exemple, dire que je veux un Chien classe qui a un Nom de propriété et l'Écorce de la méthode. Je peux mettre de la déclaration de l'Écorce de la méthode dans le constructeur de la fonction:
var Dog = function(name) {
this.Name = name;
this.Bark = function() {
alert(this.Name + " bark");
};
}
ou je pourrais mettre comme une méthode sur l'objet prototype:
var Dog = function(name) {
this.Name = name;
}
Dog.prototype.Bark = function() {
alert(this.Name + " bark");
};
Quand je instancier des objets de type Chien, les deux approches semblent bien fonctionner:
var dog = new Dog("Fido");
dog.Bark(); //Both approaches show "Fido bark"
Dois-je préférer l'un de ces approches par rapport à l'autre? Existe-il des avantages à utiliser l'un plutôt que l'autre? En coulisses, ces deux approches finissez par faire exactement la même chose? L'approche de la plupart des gens ont tendance à favoriser?
Merci pour l'aide.