Entradas con la etiqueta ‘variable’

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!! 🙂

JS – Recoger Variables de la URL

Publicado por Iván Gajate el 29 de noviembre de 2013 en JavaScript | Los comentarios están cerrados.

Con esta función podemos obtener las variables que nos vengan por la dirección url fácilmente:

// http://mydomain.com/?id=15&name=john
 
getVariables(); // {id:15, name:john}
// Return url variables like an object
function getVariables(){
	var variables = window.top.location.search.substring(1, window.top.location.search.length);
	var arrVariables = variables.split("&");
	var obj = {};
	for (i=0; i<arrVariables.length; i++) {
		var current = arrVariables[i].split("=");
		obj[current[0]] = current[1];
	}
	return obj;
}