/**
* 解析 URL 参数
* http://localhost:8080/?id=123&key=vaule#/restaurant/seller
* "?id=123&key=vaule"
* {id: "123", key: "vaule"}
*/
urlParse (url = window.location.search) {
// window.location.href 当前文件的绝对地址
// window.location.search 当前文件的哈希地址
let obj = {}
let reg = /[?&][^?&]+=[^?&]+/g
let arr = url.match(reg) // ["?id=123", "&key=vaule"]
if (arr) {
arr.forEach((item) => {
// 删除 ? 和 &,以 = 为标志分割数组
let tempArr = item.substring(1).split('=') // ["id", "123"] ["key", "vaule"]
// 使用 decodeURIComponent() 对编码后的 URI 进行解码
let key = decodeURIComponent(tempArr[0])
let value = decodeURIComponent(tempArr[1])
obj[key] = value
})
}
return obj
}
更多百度:职业生涯前端存储库