Skip to content

Instantly share code, notes, and snippets.

@flesch
Last active October 6, 2015 23:38
Show Gist options
  • Save flesch/3071287 to your computer and use it in GitHub Desktop.
Save flesch/3071287 to your computer and use it in GitHub Desktop.
Query String Memoization
function getQueryParam(param) {
if (!this.params) {
this.params = (function (query) {
var obj = {};
if (query) {
var i = query.length, keyValuePair;
while (i--) {
keyValuePair = query[i].split('=');
if (keyValuePair[0] && keyValuePair[1]) {
obj[keyValuePair[0]] = keyValuePair[1];
}
}
}
return obj;
})(window.location.search.replace(/^\?/, '').split('&'));
}
return this.params[param];
}
console.log(getQueryParam("a"));
var param = function(p) {
var qs = window.location.search, s = qs.indexOf(p+"=")+1;
return s ? unescape(qs.substring(s+p.length, (qs.indexOf("&", s)+1 || qs.length+1)-1)) : null;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment