js逐个访问URL的每个查询字符串参数

内容摘要
这篇文章主要为大家详细介绍了JS 逐个访问URL的每个查询字符串参数,具有一定的参考价值,可以用来参考一下。
文章正文

这篇文章主要为大家详细介绍了JS 逐个访问URL的每个查询字符串参数,具有一定的参考价值,可以用来参考一下。

感兴趣JS 逐个访问URL的每个查询字符串参数的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。
下面介绍一个函数,用于处理location.search的结果,以解析查询字符串,然后返回包含所有参数的一个对象。
比如 www.baidu.com?q=javascript&num=10 的访问地址,
其中location.search 查询字符串为 ?q=javascript&num=10 ,解析后的结果为对象 {q:"javascript", num: 10},
然后就可以通过对象的访问,取得每一个查询参数值。具体实现如下:
/**
 * @param 
**/
function getQueryStringArgs() {
   var qs = (location.search.length > 0 ? location.search.substring(1) : ""), //取得查询字符串并去掉开头的问号
   args = {}, //保存数据的对象
   items = qs.length ? qs.split("&") : [], //根据和号(&)来分割查询字符串,并返回name=value 格式的字符串数组
   item = null,
   name = null,
   value = null,
   i = 0,
   len = items.length;

//逐个将每一项添加到args 对象中
   for (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"

注:关于JS 逐个访问URL的每个查询字符串参数的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!