¿Cuál es la mejor manera de crear variables estáticas para los complementos jQuery?Variables estáticas a jQuery Complementos; ¿como crear?
Tengo 2 ejemplos de casos de uso para ilustrar mi pensamiento hasta el momento; cada uno con algunas ideas.
Cualquier otra idea bienvenida por supuesto ...
Un ejemplo es para una variable estática que contiene: configuración de la animación, la configuración de diseño, detalles del producto, etc; el otro para datos de almacenamiento en caché de variables estáticas.
Espero que 'estática' es la terminología correcta aquí ... single globals. Por favor, corrige si está mal.
Caso 1: para ajustes de
// defining globally
var anObject = {
value1 = 0;
value2 = 0;
}
jQuery.anObjectSet(partialObject) {
anObject = jQuery.extend(anObject, partialObject);
}
jQuery.fn.myPlugin = function (partialObject) {
obj = jQuery.extend(anObject, partialObject);
}
o tal vez?
// adding to the jQuery object
jQuery.anObject = {
value1 = 0;
value2 = 0;
}
jQuery.anObjectSet(partialObject) {
jQuery.anObject = jQuery.extend(jQuery.anObject, partialObject);
}
jQuery.fn.myPlugin = function (partialObject) {
obj = jQuery.extend(jQuery.anObject, partialObject);
}
o tal vez?
jQuery.anObjectSet(partialObject) {
if(!jQuery.anObject)
jQuery.anObject = {
value1 = 0;
value2 = 0;
}
jQuery.anObject = jQuery.extend(jQuery.anObject, partialObject);
}
jQuery.fn.myPlugin = function (partialObject) {
if(!jQuery.anObject)
jQuery.anObject = {
value1 = 0;
value2 = 0;
}
obj = jQuery.extend(jQuery.anObject, partialObject);
}
Caso 2: para el almacenamiento en caché
jQuery.fn.myPlugin = function (newObject) {
if(!cache[newObject])
cache[newObject] = $(newObject);
return cache[newObject];
}
o tal vez? (He visto este método en otro lugar)
window.$cache = {};
jQuery.fn.myPlugin = function (newObject) {
if(!$cache[newObject])
$cache[newObject] = $(newObject);
return $cache[newObject];
}
Gracias. Quiero construir una biblioteca .js, comenzando en el camino correcto ...
ps, hay una sección de "Desarrollo de complementos" @ http: //docs.jquery.com/Tutoriales, si quieres leer más :-) – Seaux
esto es genial ~ una pregunta: creo otro complemento utilizando esta técnica en otro lugar. Está envuelto en una función anónima como se recomienda arriba. ¿tendrá acceso a $ caché? o ¿la función del complemento debe estar contenida dentro de la misma función anónima? lejos para probar ... – Ross
@Danny gracias por la edición. brillante. +1 nuevamente si solo es posible. – Ross