JS – Métodos Estáticos en JavaScript
Publicado por Iván Gajate el 26 de octubre de 2014 en JavaScript | Los comentarios están cerrados.
A veces podemos necesitar que una clase que instanciemos muchas veces guarde alguna variable o método a nivel de clase, no a nivel de instancia (variables estáticas).
Podemos usar las clausuras para ello:
http://jsfiddle.net/yporqueno/h1n2gk2d/
var Persona = function (){ // Variable de clase (estatica) var count = 0; // Constructor de la clase Persona var fn = function(){ var _api = {}; _api.saluda = function(){ alert('Hola #'+count); }; count++; return _api; }; // Metodo estatico de Persona fn.getCount = function(){ alert('Numero de personas '+count); } return fn; }(); |
De esta manera la variable «count» solo se crea una vez, y queda accesible para cada instancia que creemos de la clase Persona.
Ahora podemos crear tantas instancias como queramos de Persona y acceder al conteo que lleva la clase de forma centralizada.
var manolo = new Persona(); manolo.saluda(); var pepe = new Persona(); pepe.saluda(); // Metodo estatico de la clase Persona Persona.getCount(); |
Gracias Javi por la idea!! 🙂