Aetae,
Ну да, что-то я об этом не подумал. Библиотека в библиотеке. Типа так:
var GLIB = (function(){
var $G = {};
/*** Ajax ***/
$G.ajax = (function(){
var __setup = function(set){
set = typeof set == "object" ? set : {};
this.type = set.type || "GET";
this.url = set.url || window.location.href;
this.param = set.param || null;
this.async = typeof set.async == "undefined" ? true : set.async === false ? false : true;
this.contentType = set.contentType || "application/x-www-form-urlencoded";
this.timeout = set.timeout || 3000;
this.error = set.error || function(){};
this.success = set.success || function(){};
this.beforeSend = set.beforeSend || function(){};
this.afterSend = set.afterSend || function(){};
};
var setting = new __setup();
var ajax = function(set){
var xhr = $G.getXhr();
if(typeof set !== "object"){return xhr;}
};
ajax.setup = function(set){
setting = new __setup(set);
};
ajax.getSetting = function(){return setting;};
return ajax;
}());
/*** Other ***/
$G.scroll = function(){/*****/};
$G.serialize = function(){/*****/};
// и т.д. и т.п...
return $G;
}());
Только вот непонятно. Вот в примере есть внутренние переменные: __setup и setting. Если они используются в других функциях, то они получается остаются жить после завершения работы функции обертки?