function parse(str, del, eq) {
    if (!str) return {};

    var out = {}
      , s = str.split(del || '&')
      , l = s.length
      , i = 0
      , $;

    for (; i < l; i++) {
      $ = s[i].split(eq || '=');
      if ($[0]) {
        $[0] = unescape($[0]);
        $[1] = $[1] ? unescape($[1]) : '';
        parse.set(out, $[0], $[1]);
      }
    }

    return out;
  }
function parse(str, del, eq) {
    if (!str) return {};

    var out = {}
      , s = str.split(del || '&')
      , l = s.length
      , i = 0
      , $;

    for (; i < l; i++) {
      $ = s[i].split(eq || '=');
      if ($[0]) {
        $[0] = unescape($[0]);
        $[1] = $[1] ? unescape($[1]) : '';
        parse.set(out, $[0], $[1]);
      }
    }

    return out;
  }
function parse ( str , del , eq ) { if ( ! str ) return { } ; var out = { } , s = str . split ( del || '&' ) , l = s . length , i = 0 , $ ; for ( ; i < l ; i ++ ) { $ = s [ i ] . split ( eq || '=' ) ; if ( $ [ 0 ] ) { $ [ 0 ] = unescape ( $ [ 0 ] ) ; $ [ 1 ] = $ [ 1 ] ? unescape ( $ [ 1 ] ) : '' ; parse . set ( out , $ [ 0 ] , $ [ 1 ] ) ; } } return out ; }
Nested QS Parser
From: Parted, Copyright (c) 2011-2012, Christopher Jeffrey
https://github.com/chjj/parted
Nested QS Parser From : Parted Copyright ( c ) 2011 - 2012 Christopher Jeffrey https : // github . com / chjj / parted