URLSearchParams是构造函数,可以解析window.location.search这种?xxx=xx&bb=1里面的参数
实例对象上的常用方法
let search = "?a=1&b=2";
let searchParams = new URLSearchParams(search);
console.log(searchParams.has('a')); // true
//参数相关联的第一个值
console.log(searchParams.get('b')); // 2
//与给定搜索参数相关联的值设置为给定值。如果有多个匹配值,此方法将删除其他值。如果搜索参数不存在,则此方法会创建它。
console.log(searchParams.set('c',3));
//设定附加的参数
console.log(searchParams.append('a',3));
//搜索参数关联的所有值作为数组返回
console.log(searchParams.getAll('a')); //["1", "3"]
//要删除的参数
console.log(searchParams.delete('b'));
console.log(searchParams.toString()); //a=1&c=3&a=3
console.log(searchParams.get('a')); //1
for(var pair of searchParams.entries()) {
console.log(pair[0]+ ', '+ pair[1]); //a, 1 c, 3 a, 3
}
for(var pair of searchParams.values()) {
console.log(pair[0]+ ', '+ pair[1]); //1 3 3
}
for(var pair of searchParams.keys()) {
console.log(pair[0]+ ', '+ pair[1]); //a c a
}
关于兼容性,ie不兼容
安装兼容包url-search-params-polyfill
npm install url-search-params-polyfill --save
将其引入到项目中。
import 'url-search-params-polyfill';