Показать сообщение отдельно
  #10 (permalink)  
Старый 15.05.2015, 23:44
Новичок на форуме
Посмотреть профиль Найти все сообщения от fuckJS
 
Регистрация: 15.05.2015
Сообщений: 8

Сообщение от kostyanet
Задача с примерами сформулирована выше.
Мне твою ахинею читать неохота, но судя по названию темы, типа того
Url={
 clone: function(){
  var o=Object.create(this)
  o.params={}
  return o
 },
 setPath: function(path){this.path=path},
 setParams: function(src){
  for(var i in src) {
   if(!src.hasOwnProperty(i)) return this;  this.params[i]=encodeURIComponent(src[i])
   }
   return this
 },
 removeParam: function(param){with(this){
  for(var i in params){if(i === param) {delete params[i]}}}
 },
 get: function(){
   with(this) {
     var paramsString=""
     for(var i in params){ if(!params.hasOwnProperty(i)) return; paramsString+=i+"="+params[i]+"&"}
     return path+paramsString.replace(/\&$/, "")
   }
 }
}
 
with(url=Url.clone()){
 setPath("http://mysite.com?")
 setParams({foo: "bla-bla", bar: "русский??текст"})
}
 
 
with(url) with(console){
 log(get())
 setParams({baz: "mooo"})
 log(get())
 removeParam("foo")
 log(get())
 setPath("http://another-site.com?")
 log(get())
}



//>>>> [url]http://mysite.com?foo=bla-bla&bar=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3F%3F%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD[/url]
//>>>> [url]http://mysite.com?foo=bla-bla&bar=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3F%3F%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD&baz=mooo[/url]
//>>>> [url]http://mysite.com?bar=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3F%3F%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD&baz=mooo[/url]
//>>>> [url]http://another-site.com?bar=%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%3F%3F%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD&baz=mooo[/url]

Последний раз редактировалось fuckJS, 16.05.2015 в 00:31.
Ответить с цитированием