getQueryStringArgs
/*
* 逐个查询 URL 末尾的内容
* 例如: ?username = Nodezhang & age = 25
*/
function getQueryStringArgs() {
// 取得查询字符串并去掉开头的问号:
var qs = (location.search.length > 0 ? location.search.substring(1) : "");
// 创建一个新数组 来 保存数据的对象:
args = {};
items = qs.length > 0 ? qs.split("&") : []; // => username = Nodezhang & age = 25
var item, name, value = null;
var len = items.length;
// 逐个将每一项添加到 args 对象中:
for (var i = 0; i < len; i++) {
item = items[i].split("="); // => ['username = Nodezhang ', 'age = 25']
// decodeURIComponent() 解码函数;encodeURIComponent() 编码函数对应;
name = decodeURIComponent(item[0]); // => username age
value = decodeURIComponent(item[1]); // => Nodezhang 25
if (name.length) {
args[name] = value;
}
// 抛出这个结果;
return args;
}
}
// 调用方法:
// 例如: ?username = Nodezhang & age = 25
var getQuery = getQueryStringArgs();
console.log(getQuery["username"]); // => "Nodezhang"
console.log(getQuery["age"]); // => "25"