轻松获取 URL 查询参数?分享 1 段优质 JS 代码片段!

大家好,我是大澈!

本文约 600+ 字,整篇阅读约需 1 分钟。

每日分享一段优质代码片段。

今天分享一段优质 JS 代码片段,从而比以往更简单的从 URL 中获取查询参数。

老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!

js 复制代码
const getQueryByName = (name) => {
  const query = new URLSearchParams(location.search)
  return decodeURIComponent(query.get(name))
}
// url: https://sunday.com/?name=fatfish&age=100
const name = getQueryByName('name') // fatfish
const age = getQueryByName('age') // 100
const gender = getQueryByName('gender') // null

分享原因

这段代码通过 URLSearchParams 对象简化了从 URL 中获取查询参数的过程。

通过这种方法,可以更方便地在 JavaScript 中解析和获取 URL 查询参数,特别适用于处理需要从 URL 中提取参数的场景,比如读取用户在网页中的输入或搜索关键字等。

这是项目中一个很常见的操作,之前我们经常会使用 正则表达式 或者 拆分字符串 来完成,现在有了更简单的方式!

代码解析

1. const query = new URLSearchParams(location.search);

创建 URLSearchParams 对象。

URLSearchParams 是 Web API 的一部分,用于操作 URL 的查询字符串。

location.search 返回当前 URL 的查询字符串(例如 ?name=value&key=value)。

URLSearchParams 对象将其解析为一个可以操作的查询参数对象。

2. decodeURIComponent(query.get(name));

query.get(name) 方法从查询参数对象中获取名称为 name 的参数值。

decodeURIComponent 用于对参数值进行解码,以确保返回的值是一个人类可读的字符串,避免 URL 编码带来的问题(例如 %20 代表空格)。

  • end -
相关推荐
海兰6 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
小磊哥er8 小时前
深入解构Claude Code - 第 7 篇 · 连接外面的世界
javascript·ai编程
小磊哥er8 小时前
深入解构Claude Code - 第 6 篇 · 终端里的图形界面
javascript·ai编程
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(一)
javascript·python·金融
可乐鸡翅yeah_9 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
可乐鸡翅yeah_9 小时前
第三方接口对接 M3U8 流媒体排坑实战,解决外部服务商流兼容难题
前端·javascript·python·django·html·m3u8·m3u8在线
默_笙10 小时前
🏠 「LLM Notes」:我用 Next.js + Redis 给自己造了个笔记博客
前端·javascript
ruanCat12 小时前
Prettier 明明执行成功,Markdown 为什么还是没变?一次插件误诊复盘
前端·javascript·node.js
软件开发技术深度爱好者12 小时前
在线学习实践 TypeScript 的官方Playground(演练场)使用介绍
javascript·学习·typescript
2601_9621229713 小时前
nginx 部署前端vue项目
前端·vue.js·nginx