首頁  >  文章  >  web前端  >  JavaScript中如何取得URL參數? 4種常見方法詳解

JavaScript中如何取得URL參數? 4種常見方法詳解

青灯夜游
青灯夜游轉載
2022-03-17 11:02:3729740瀏覽

如何利用原生JavaScript来获取URL链接参数?下面本篇文章给大家详细介绍4种常见的原生JS方法,希望对大家有所帮助!

JavaScript中如何取得URL參數? 4種常見方法詳解

作为一个前端开发,我们很多时候都需要对URL进行操作和处理,最常见的一种就是获取URL链接中携带的参数值了。使用框架开发的小伙伴可能会觉得这很简单,因为框架提供了很多方法让我们方便的获取URL链接携带的参数。但是有些时候我们不能依赖框架,需要我们使用原生JS去获取参数,这也是面试中经常遇到的一道题。今天我们就手撕代码,利用原生JS去获取URL链接参数值。

1. 获取方式总结

利用原生JS获取URL链接参数的方法也有好几种,今天我们依次来讲解常见的几种:

  • 通过正则匹配的方式

  • 利用a标签内置方法

  • 利用split方法分割法

  • 使用URLSearchParams方法

【相关推荐:javascript学习教程

2. 具体实现方法

2.1 正则匹配法

这是非常中规中举的一种方法,重点是要求我们要懂正则表达式。

代码如下:

上段代码中重点是正则表达式的定义以及replace方法的使用,其中1、$2分别代表name=elephant、name、elephant,以此类推。replace结合正则更加详细的使用方法可以自行下去学习。

实现效果:

JavaScript中如何取得URL參數? 4種常見方法詳解

2.2 利用a标签

这种方法较少人使用,因为毕竟有点黑科技的意思在里面。它的原理主要就是利用了a标签得到一些内置属性,如href、hash、search等属性。

JavaScript中如何取得URL參數? 4種常見方法詳解

JavaScript中如何取得URL參數? 4種常見方法詳解

代码如下:

上段代码中先创建了一个a标签,然后就可以根据a标签的属性分别得到url的各个部分了,这其实和Vue的路由跳转获取参数有点类似。

实现效果:

JavaScript中如何取得URL參數? 4種常見方法詳解

2.3 split分割法

该种方法利用了split可以以某个字符讲字符串分割为数组的特点,巧妙地将各个参数分割出来。

代码如下:

上传代码中如果在实际项目中,可以直接利用location.search获取“?”后面的字符串,这里为了方便演示,所以利用split分割了以下。

实现效果:

JavaScript中如何取得URL參數? 4種常見方法詳解

2.4 URLSearchParams方法

URLSearchParams方法能够让我们非常方便的获取URL参数,但是存在一定的兼容性问题,官网的解释如下:

URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串。

该接口提供了非常的的方法让我们来处理URL参数,这里我们只介绍如何获取URL参数值,更加详细的使用方法大家可以参考官网。

代码如下:

这里我们基本上只用了两行主要代码就实现了参数的解析。需要注意的是urlSearchParams.entries()返回的是一个迭代协议iterator,所以我们需要利用Object.fromEntries()方法将把键值对列表转换为一个对象。

关于迭代协议,大家可以参考官网:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Iteration_protocols

实现效果:

JavaScript中如何取得URL參數? 4種常見方法詳解

相容性:

JavaScript中如何取得URL參數? 4種常見方法詳解

可以看到我們這個介面不相容於萬惡之源的IE。

總結

這裡介紹了四種方法來實現URL連結參數值的解析,其中使用最為廣泛的應該是當屬split分割法。 urlSearchParams 作為後起之秀,也逐漸被大家認可,也有很多方法讓它相容於IE。

【相關影片教學推薦:web前端

#

以上是JavaScript中如何取得URL參數? 4種常見方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除