メイン処理は、alert () のみ?!

http://oshiete.goo.ne.jp/qa/6220041.html

機能を分離し、定義する。
代入処理は前もって行っておく。
これを守ると、メイン処理は、alert () だけになってしまった。^^;

<!DOCTYPE html>
<title></title>
<script>

var locationSplit = function  (url) {
  return  /^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec(url);
};

//___

var getQuery = function (querys) {
  var result = { };
  var i = 0
  var query;
  var nv;

  querys = querys.split ('&');

  while ((query = querys[i++])) {
    nv = query.split ('=');
    result[ decodeURIComponent (nv[0]) ] = decodeURIComponent (nv[1]);
  }

  return result;
};

//___

var str =
  'htp://maps.google.co.jp/maps?f=q&hl=ja&ie=UTF8&om=1&layer=c&ll=35.659406,139.744742' +
  '&spn=0,0.019205&z=16&brcurrent=3,0x60188bbd9a93fb75:0x34e0de0018b3269,1' +
  '&cbll=35.659362,139.744854&panoid=-o46OC9WbmlXHKjOyLWB8Q' +
  '&cbp=12,159.95,,0,-38.84';

//___
var val = getQuery (locationSplit (str)[6]);
var cbll = val.cbll.split(',');
var cbp = val.cbp.split(',');
//___

alert ([cbll[0], cbll[1], cbp[1], cbp[4]]);

</script>

http://js1k.com/demos

1Kbyte ね〜 ^^;