location.search
、substring
、split
的应用
一个通用的方法,想获取什么值都可以
function getQueryStringArgs(){
//获取参数并去掉开头的?
var qs = (location.search.length > 0 ? location.search.substring(1) : ""),
//存放参数和值的对象
args = {},
//将多个参数以&拆成name=value的数组
items = qs.length ? qs.split("&") : [],
item = null,
name = null,
value = null,
len = items.length;
//assign each item onto the args object
for (var i=0; i < len; i++){
item = items[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
if (name.length){
args[name] = value;
}
}
return args;
}
//假如是这样:?q=javascript&num=10
var args = getQueryStringArgs();
console.log(args["q"]); //"javascript"
console.log(args["num"]); //"10"