好みのレベルかもしれませんが、jQueryのmapを使えば1行で済んだりしないでしょうか。
(未検証)
```js
$.map({a:1, b:2}, function(v, k){return k + '=' + v;}).join('&');
// => "a=1&b=2"
```