Scriptia. Javascript y buenas prácticas en español



Scriptia / artículos / Copia de propiedades e importación de métodos

Copia de propiedades e importación de métodos

Saltar a Anotaciones relacionadas

Este truquito para copiar propiedades de un objeto a otro:

function apply(a, b) {
    for (var i in b) {
        a[i] = b[i];
    }
}

Puede ser útil para manejar parámetros por defecto en una función:

function algoHaremos(conf) {
    var def = { order: 'date', asc: false };
    conf = apply(def, conf || {});
}

Extendiendo un poco el asunto, podemos utilizar este copiapropiedades para importar métodos y propiedades al espacio global de nombres:

var Scriptia = {
    apply : function(a, b) {
        if (!b) {
            b = a;
            a = window;
        }
        for (var i in b) {
            a[i] = b[i];
        }
    }
    // ...
};

Scriptia.DOM = {
    // getElementsByTagName shortcut
    d23e : function(tagName, parent) {
        parent = parent || document;
        return parent.getElementsByTagName(tagName);
    },

    // getElementById shortcut
    d21d : function(sid) {
        return document.getElementById(sid);
    }
    // ...
}

var col1 = Scriptia.DOM.d23e('li');

// importamos los métodos de Scriptia.DOM
// en el scope global 
Scriptia.apply(Scriptia.DOM);

var col2 = d23e('li');

Para los curiosos: Scriptia –además de este sitio– es una pequeña librería que estoy desarrollando. Hasta aquí puedo leer.



Publicidad

Di la tuya

Puedes usar markdown y estas etiquetas HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> . Por favor, evita el abuso de las mayúsculas y cuida la ortografía.


Acerca de Scriptia

Saltar a la caja de búsqueda

Scriptia forma parte del PDM de Choan C. Gálvez, desarrollador web residente en Barcelona. Scriptia pretende mejorar la calidad de la documentación acerca de javascript disponible en español.