面试笔试题遇到了好多次这个,实际开发中也碰到过这个需求。因此,我简单的理了一下思路。
下面就会一个简单的代码进行获取URL参数
var prestr= location.search;//获取当前地址栏中的“查询字符串”值
var str =prestr.slice(1);//截取?后面的字符串
var json={}; //定义一个空的对象进行接收
if(str.includes('&')){ //判断是否有多组参数 若有则进行split切割生成多个参数数组
var params = str.split('&');
params.forEach((item,index)=>{
splits(item)
})
}else{//若只有一个参数 则直接进行操作
splits(str)
}
function splits(e){ //封装函数 对参数进行处理
var par= e.split('=')
json[par[0]] =par[1]
}
console.log(json)
例如:https://blog.youkuaiyun.com/wang_9909?spm=1000.2115.3001.5343
取到得参数为