请编写一个 JavaScript函数 parseQueryString, 它的用途是把 URL 参数解析为一个对象,如:
var url= ‘http://www.baobao.com/index.php?key0=aaa&key1=1&key2=2’;
var obj = parseQueryString(url);
console.log(obj.key0) // 输出0
结果:
obj = {
key0:0,
key1:1,
key2:2
}
<script type="text/javascript">
// vue里用this.$router.query 可以获取到地址栏?后面的参数
// 把URL参数解析为一个对象
function parseQueryString(urlStr){
// ?号后面的位置
var pos = urlStr.indexOf('?') + 1;
// 参数的字符串
var paramsStr = urlStr.substring(pos);
console.log(paramsStr);
// 声明对象
var obj = {};
// 把参数添加到对象中
var paramsArr = paramsStr.split('&');
// 数组循环
paramsArr.forEach( function(element) {
// element == key0=aaa
var _arr = element.split('=');
// 往对象里添加内容
obj[_arr[0]] = _arr[1];
});
// 返回对象
return obj;
}
var url= 'http://www.baobao.com/index.php?key0=aaa&key1=1&key2=2';
var obj = parseQueryString(url);
// var urlIndex = document.location.href; //获取地址栏地址
console.log(obj)
console.log(obj.key0) // 输出0
</script>