JavaScript URLSearchParams 对象用法与封装实践
作者:远帆时间:2026-10-26 07:41:00浏览:138
本文介绍 JavaScript 中 URLSearchParams 对象的基本用法,包括通过字符串、数组或对象初始化查询参数。详细解析 has、get、set 等核心 API,并演示如何在 React 项目中封装工具函数,将对象转换为 URL 查询字符串以优化链接生成。
基本用法
需要注意的是,该功能在部分浏览器中仍处于开发阶段,兼容性表现可能不够理想。
通过 URLSearchParams() 构造函数可以创建并返回一个新的 URLSearchParams 实例。在初始化时,若字符串以 ? 开头,该字符将被自动忽略。
语法定义如下:
// init: 参数可选,为一个 USVString
var URLSearchParams = new URLSearchParams(init);
具体示例如下:
// 传入一个字符串字面值
var searchParams = new URLSearchParams('https://example.com?foo=1&bar=2');
console.log(searchParams.toString()); // foo=1&bar=2
// 查找字符串
console.log(searchParams.has('foo')); // true
// 获取字符串对应的数据
console.log(searchParams.get('foo')); // 1
// 设置字符串
searchParams.set('ttl','3'); // 1
console.log(searchParams.toString()); // foo=1&bar=2&ttl=3
// 传入一个 sequence
var params3 = new URLSearchParams([["foo", 1],["bar", 2]]);
console.log(params3.toString()); // foo=1&bar=2
// 传入一个 record
var params4 = new URLSearchParams({"foo" : 1 , "bar" : 2});
console.log(params4.toString()); // foo=1&bar=2生成的 URL 打印结果如下:

实践运用
函数封装实现:
export function toSearch(record: Record<string, string>) {
return new URLSearchParams(record).toString();
}调用方式示例:
// Button 按钮是adtd里面的,这里只展示局部代码
<Button
type="link"
href={`#/project/flowpage?${toSearch({
id: 666,
name: "liu",
})}`}
target="_blank"
>
点击按钮
</Button>最终效果展示:
// 前面域名指向当前网页的域名,这里暂用...省略
...#/project/flowpage?id=666&name="liu"至此,关于 JS 中 URLSearchParams 对象的操作(以对象形式上传参数到 URL)的介绍已完成。如需了解更多 JS URLSearchParams 相关内容,建议查阅本站过往文章或继续浏览后续教程,感谢大家的支持!
作者最新文章
Next.js App Router 怎么实现嵌套路由与布局组件
2026-11-03 17:58:37
React 中使用 ECharts 实现 3D 旋转扇形图
2026-11-01 03:46:31
React 脚手架 Create React App 使用详解
2026-10-31 17:53:01
前端获取Excel表格数据并在浏览器展示方法实例
2026-10-31 15:23:51
JS前端白屏成因解析与React Error Boundary容灾方案
2026-10-30 22:58:07







