JavaScript获取链接url参数并生成对象

日常每次在获取URL上的参数都得写一遍 location.search
接着xxxx一顿分割字符串
想做个一劳永逸的东东,所以写了一个迷你URL的解析工具
?aaa  这种解析后可以变成{aaa: "onlyKey"}     //onlyKey可以作为判断,这个是只有key的意思,(啊哈哈哈哈哈)
?bbb=123456  这种解析后可以变成{bbb: "123456"}
想要的就是它了

然后我打算折磨它,先循环1万次,结果是45毫秒

感觉没啥压力

于是直接循环100万次

结果是2294毫秒,感觉挺爽,大家可以用用看

function getUrlQuery() {
	var urlStr = location.search.substr(1) ? location.search.substr(1) : "";
	var urlArr = [];
	for(var i = 0; i < urlStr.split("&").length; i++) {
		urlArr.push(urlStr.split("&")[i].split("=")[0] ? urlStr.split("&")[i].split("=")[0] : "");
		urlArr.push(urlStr.split("&")[i].split("=")[1] ? urlStr.split("&")[i].split("=")[1] : "onlyKey")
	}
	if(urlStr == "") {
		return;
	} else {
		var urlObj = {}
		for(var i = 0; i < urlArr.length; i += 2) {
			if(urlArr[i] != "") {
				urlObj[urlArr[i]] = decodeURIComponent(urlArr[i + 1]);
			}
		}
		return urlObj;
	}
}



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值