Difference between revisions of "Crear librería de JavaScript"
Jump to navigation
Jump to search
Line 47: | Line 47: | ||
} | } | ||
)(window); // window se envía como parámetro a la función, no es extricamente necesario | )(window); // window se envía como parámetro a la función, no es extricamente necesario | ||
// ********************************* | // ********************************* | ||
// Ejecución | // Ejecución |
Revision as of 17:34, 22 May 2014
Cómo crear una librería de JavaScript sencilla
Agregando la librería al alcance global (global scope)
Un ejemplo de una librería sencilla (Expandir para ver ejemplo documentado):
(function(w) {
var variable1 = 'unoA';
var variable2 = 'dosB';
var variable3 = {
sub1: 'a',
sub2: 'b'
};
function hola() {
alert('hola');
}
;
w.lib = {};
w.lib.variable2 = variable2;
w.lib.variable3 = variable3;
w.lib.hola = hola;
})(window);
// *********************************
// Ejecución
// *********************************
lib.hola();
alert(lib.variable2);
( // Lo que está adentro de los parentesis solo existe adentro
function(w) {
var variable1 = 'unoA'; // Usando var se evita que la variable1 exista en el espacio global
var variable2 = 'dosB';
var variable3 = {
sub1: 'a',
sub2: 'b'
};
function hola() {
alert('hola');
}
;
w.lib = {}; // Se crea un objeto lib para que se le puedan agregar parámetros luego
w.lib.variable2 = variable2; // Se agrega variable2 al objeto global lib
w.lib.variable3 = variable3; // Se agrega variable3 al objeto global lib
w.lib.hola = hola; // Se agrega función hola al objeto global lib
}
)(window); // window se envía como parámetro a la función, no es extricamente necesario
// *********************************
// Ejecución
// *********************************
lib.hola(); // Se accede desde afuera de la librería a la función hola
alert(lib.variable2); // Se accede desde afuera de la librería a la variable2
// *********************************
// Errores
// *********************************
alert(variable1); // Error, variable1 no definida
alert(lib.variable1); // Muestra "undefined"