Каков наилучший способ создания статических переменных для плагинов jQuery?
У меня есть 2 примера использования, чтобы проиллюстрировать мое мышление; каждый с некоторыми идеями.
Любые другие идеи приветствуются, конечно ...
Один из примеров - статическая переменная, содержащая: настройки анимации, настройки макета, сведения о продукте и т. Д .; другой для статических переменных, кеширующих данные.
Я надеюсь, что «static» - правильная терминология здесь ... отдельные глобалы. пожалуйста исправьте если не так.
Случай 1: для настроек
// 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);
}
или, может быть?
// 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);
}
или, может быть?
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);
}
Случай 2: для кэширования
jQuery.fn.myPlugin = function (newObject) {
if(!cache[newObject])
cache[newObject] = $(newObject);
return cache[newObject];
}
или может быть? (Я видел этот метод в другом месте)
window.$cache = {};
jQuery.fn.myPlugin = function (newObject) {
if(!$cache[newObject])
$cache[newObject] = $(newObject);
return $cache[newObject];
}
Спасибо. Я хочу создать библиотеку .js, чтобы начать правильный путь ...