多用于分享,写在main.js中,可以在页面进入之前拿到参数。
1.分解(详讲)
//封装函数可重复调用
function getQuery(url){
let obj={}
//split 截取字符串
url.split('?')[1]
// ['https://www.baidu.com','name=1&age=19&like=vue'] 以url地址的?为线分割,分割后行程两个数组,我们需要的是?后面的参数,所以找到参数所在的下标为[1]。
.split('&') //在['name=1&age=19&like=vue']里面split('&')截取&,得到
//['name=1,age=19,like=vue']
.forEach(item=>{//循环数组 item拿到数组的每个元素,然后再截取('=')得到
//[name,1,age,19,like,vue]
obj[item.split('=')[0]]=item.split('=')[1]
//用第一个[0]作为对象键值对的键,第二个[1]作为键值对的值
})
return obj
//返回出去
}
console.log(getQuery('https://www.baidu.com?name=1&age=19&like=vue'));
2.完整
function getQuery(url){
let obj={}
url.split('?')[1].split('&').forEach(item=>{
obj[item.split('=')[0]]=item.split('=')[1]
})
return obj
}
console.log(getQuery(location.href));
//location.href:获取当前页面的url