URLSearchParams 是一个 WEB 接口,它定义了一些方法来处理 URL 的查询字符串。
构造函数 URLSearchParams()
返回一个 URLSearchParams 对象,这个对象没有特别的属性,也不继承任何方法。
URLSearchParams 的构造实例的方法如下:
append
插入一个新的搜索参数。该方法接受两个参数,无返回值,调用形式为 URLSearchParams.append(name, value)
,name
为插入搜索参数的键名,value
为对应的值。
delete
删除指定名称的所有搜索参数。接受一个参数 name
即要删除的键值名称,无返回值。
entries
不同于 Object.entries
,这里的 entries
方法会返回一个 iterator
,可以遍历所有键值对的对象。每一个键值对均为 USVString
对象。
- iterator 是迭代协议 Iterator 对象的实例。
entries
方法通常在Web Workers
中使用。USVString
为 unicode 标量值(unicode scalar values)。
代码示例:
1 | // Create a test URLSearchParams object |
get
获取指定搜索参数的第一个值。
getAll
获取指定搜索参数的所有值。返回一个数组。
has
判断是否存在指定的搜索参数。
keys
返回 iterator 对象,包含了键/值对的所有键名。其他说明与上面的 entries
一样。
set
设置指定搜索参数对应的值。接受的参数跟 append
中的一样,如果存在多个搜索参数对应的值,则删除其他所有值。
sort
按键名排序。排序规则为按键名的 unicode
码点,该规则是稳定排序,对相等的键值的相对顺序不做变更。
toString
返回一个字符串,由所有搜索参数组成的字符串,可以直接用在 URL 上。
values
返回 iterator 对象,包含了键/值对的所有值。其他说明与上面的 entries
和 keys
一样。
forEach
扩展方法,提供接近于数组 forEach 的遍历方式,但它并不是一个数组,也不是一个类数组。
1 | searchParams.forEach((...args)=>console.log(args)) |
上面的代码中,
args
依次为键名、值、对应的 searchParam。
参考资料: