In passato, quando la creazione di "classi" in JavaScript, ho fatto in questo modo:confusione su come creare classi in JavaScript
function Dog(name){
this.name=name;
this.sound = function(){
return "Wuf";
};
}
Tuttavia, ho appena visto qualcuno fare in questo modo, invece:
var Dog = (function() {
function Dog(name) {
this.name = name;
}
Dog.prototype.sound = function() {
return "Wuf";
};
return Dog;
})();
Puoi farlo in entrambi i modi, o è il modo in cui l'ho fatto male? In tal caso, perché? E qual'è esattamente la differenza tra i due in termini di ciò che finiamo con? In entrambi i casi siamo in grado di creare un oggetto dicendo:
var fido = new Dog("Fido");
fido.sound();
spero che qualcuno mi illumini.
Ulteriori informazioni su come utilizzare le funzioni di costruzione e il prototipo possono essere trovate qui: http://stackoverflow.com/a/16063711/1641941 spero che aiuti – HMR