Ладно, припомню всем кто не ответил...
Написал сам приблизительный пердимоноколь:
var Get=(function(){
var qd = {}, qs={},
ins=function(k,v){
qd[k]=v;
};
location.search.substr(1).split("&").forEach(
function(item){
ins(item.split('=')[0],decodeURIComponent(item.split('=')[1]));
});
return {
set:function(k,v){
qs[k]=v;
return this;
},
get:function(k){
return (k in qd)?qd[k]:null;
},
toString:function(){
var k,res=[];
for(k in qs)
qd[k]=qs[k];
for(k in qd)
if(qd[k]!==null)
res.push(k+'='+encodeURIComponent(qd[k]));
return res.join('&');
},
ass:function(){
location.search=this.toString();
},
qd:qd
};
})();
Вопрос, какого члена-корреспондента toString не плющит объект? То есть как оказалось тут и не нужен такой метод как таковой, рендерить ссылки я не собираюсь, но почему-то не плющит, проверял в срачпаде ФФ.
Еще вопрос, а как теперь сделать чтобы set скрылся в приват, а ключи можно было профтыкать по имени, типа вот так
Get.fls=null