jeudi 5 février 2015

How do I create a new instance of an object when using the module pattern?

I am using Javascript's "module pattern" to create a new class. Here's what I have:



var Car = (function() {
var internal = {};

internal.init = function(color, brand) {
internal.color = color;
internal.brand = brand;

return internal;
}

return internal;
})();


However, when I create new instances it seems to all return the same data:



var ferrari = Car.init('red', 'ferrari');
var audi = Car.init('blue', 'audi');

console.log(ferrari.color + ' ' + ferrari.brand); // --> "blue audi"
console.log(audi.color + ' ' + audi.brand); // --> "blue audi"


How do I go about fixing it so that it returns the data it was initialized with?


Aucun commentaire:

Enregistrer un commentaire