js解析url query_通过Javascript得到URL中的参数(query string)

在网上找的这两种处理方式,但不理解函数的逻辑和正则部分,另这两种方法的不同和哪个在项目中使用性能会更高呢?希望有懂得大神能指点迷津!谢谢?!!

http://www.cnblogs.com/season...

方法一:

function getParameterByName(name) {

name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");

var regex = new RegExp("[\\?&]" + name + "=([^]*)"),

results = regex.exec(location.search);

return results == null ? "": decodeURIComponent(results[1]);

}

console.log(getParameterByName("param")) //yes

方法二:

var urlParams;

(window.onpopstate = function() {

var match,

pl = /\+/g,

search = /([^&=]+)=?([^&]*)/g,

decode = function(s) {

return decodeURIComponent(s.replace(pl, " "));

},

query = window.location.search.substring(1);

urlParams = {};

while (match = search.exec(query))

urlParams[decode(match[1])] = decode(match[2]);

})();

//urlParams的结果

urlParams = {

param: "yes",

article: "1"

}

console.log(urlParams["param"]); // -> "yes"

console.log("article" in urlParams); // -> true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值