encuentro con algun que otro problema. La cuestion que tengo ahora
es esta IIFE(funcion autoinvocada) enlazada a la variable module que retorna un
objeto con diversos metodos.
en la parte privada tengo un constructor Counter que crea objetos con las
propiedades value y step.
posteriormente instancio dos objetos a partir de este constructor.
El problema surge en los metodos retrieve y add donde hay que especificar
el objeto como parametro.
cuando lo hago:
module.retrieve(score);
me indica que el objeto score no existe cuando en realidad si que existe en la
zona privada. de hecho he creado un metodo llamado r que retorna el objeto
score y me lo devuelve perfectamente.
alguien sabe que estoy haciendo mal? gracias por adelandado.
Código Javascript:
Ver original
var module = (function () { function Counter(step){ this.value = 0; this.step = step || 1; } Counter.prototype.b = function () { var that = this; return { set: function() { that.value += that.step; }, get: function() { return that.value; }, restart: function () {that.value = 0; } }; }; var score = new Counter(5); var cErrors = new Counter(); var list = [score,cErrors]; return { retrieve : function (obj) { return obj.value; }, add : function (object) { object.b().set(); }, restart : function (){ list.forEach(function (e) { e.b().get(); }); }, r : function () { return score; } }; })();