思路 : 先用字符串方法split获取?后面的所有数据,然后再用split(‘&’)获取所有分完组的对应值,再用split对各个组进行(‘=’)号分割,再用{}的=全部组起来
// 咱们这里用url代替location.href
var url="https://www.baidu.com/?id=23456&userid=789456&openid=555555"
// 跳转到的页面获取location.href的链接带的值
function geturl (url) {
var arr ,arr2,num, num2,newArr ,newJson
//decodeURIComponent解码
// http%3A%2F%2Fw3school.cc%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab
// 比如上面解码成下面这个
//http://w3schools.com/my test.asp?name=ståle&car=saab
arr= decodeURIComponent(url.split('?')[1])
//注释console.log(arr) id=23456&userid=789456&openid=555555
arr2 = arr.split('&')
//注释console.log(arr2) ["id=23456", "userid=789456", "openid=555555"]
num = arr2.length
newJson = {}
for (i=0;i<num;i++) {
newArr = arr2[i].split('=')
newJson[newArr[0]] = newArr[1]
}
return newJson
}
var ttt=geturl(url)
console.log(ttt) // 注释 {id: "23456", userid: "789456", openid: "555555"}