使用js获取url中的参数并返回一个对象方式

yizhihongxing

获取URL中的参数对于前端开发来说是一个很常见的需求,这里介绍两种使用JS获取URL参数并返回一个对象的方法。

方法一:使用URLSearchParams

URLSearchParams是浏览器提供的一个内置对象,可以方便的获取URL参数。以下是具体的实现过程:

function getSearchParams() {
  const params = new URLSearchParams(window.location.search);
  const result = {};

  for (const [key, value] of params) {
    result[key] = value;
  }

  return result;
}

console.log(getSearchParams());

代码解释:

  1. 使用URLSearchParams()构造函数来初始化一个URLSearchParams对象,传入location.search作为参数,即可获取URL中的查询参数部分。
  2. 遍历该对象,将每个参数保存在一个空对象中。
  3. 返回这个保存所有参数的对象。

方法二:手动解析URL

手动解析URL参数比较复杂,需要自己进行字符串截取和解析。以下是具体的实现过程:

function getQueryParams(url) {
  const queryParamsString = url.split("?")[1];
  const queryParamsArr = queryParamsString.split("&");

  const result = {};
  queryParamsArr.forEach((param) => {
    const [key, value] = param.split("=");
    result[key] = value;
  });

  return result;
}

console.log(getQueryParams(window.location.href));

代码解释:

  1. 首先使用split()方法将URL按照?截成两部分,获取查询参数部分。
  2. 再使用split()方法将查询参数部分按照&符号拆分为一个包含多个参数的数组。
  3. 再遍历这个数组,使用split()方法将每个参数按照 = 拆分为 key 和 value,并将他们存入一个空对象中。
  4. 最后返回这个存储所有参数的对象。

示例描述:

假设我们有一个URL如下:http://example.com?name=Charlie&age=21

执行以上两段代码后,都会返回一个对象{name: "Charlie", age: "21"}

这个对象中的属性名为 URL 参数的键,属性值为 URL 参数的值。使用这两种方法,我们可以快速的获取URL中的参数并以对象的形式返回。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用js获取url中的参数并返回一个对象方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript原型与原型链深入探究使用方法

    JavaScript原型与原型链深入探究使用方法 原型 JavaScript中每个函数都有一个prototype属性,它指向一个对象。这个对象就是所谓的“原型对象”或“原型”。我们可以在原型对象上添加方法和属性,这些方法和属性可以被构造函数创建的实例所共享。在原型对象上定义的方法和属性,可以被该构造函数所创建的所有实例共享使用。这样,我们就可以省略实例中相同…

    JavaScript 2023年6月10日
    00
  • JavaScript中的动态 import()用法示例解析

    JavaScript中的动态import()用法 在JavaScript中,我们可以使用import()方法动态地加载模块。这种方式是ES6新增的特性,可以更灵活地控制模块的加载和使用。其语法结构如下: import(moduleName) .then(module => { // 加载成功后的处理 }) .catch(error => { //…

    JavaScript 2023年5月28日
    00
  • 跟我学习javascript的var预解析与函数声明提升

    下面就是“跟我学习JavaScript的var预解析与函数声明提升”的完整攻略。 JavaScript中的预解析 在JavaScript中,预解析是指在执行代码之前,将变量和函数的声明提前,这种行为称为预解析或者预编译。 var的预解析 在JavaScript中,var关键字声明的变量会在预解析阶段被提前声明。但是需要注意的是,只有声明会被提前,赋值不会被提…

    JavaScript 2023年5月28日
    00
  • js创建对象几种方式的优缺点对比

    那我来讲解一下“js创建对象几种方式的优缺点对比”的攻略。 什么是对象? 在 JavaScript 中,万物皆对象。简单来说,对象就是一种数据类型,它是由一组“键值对”组成的组合数据类型。每个键都是唯一的,其对应的值可以是任何基本类型的数据,还可以是对象、数组等复杂类型的数据。 对象的创建方式 在 JavaScript 中,创建对象的方式有多种,下面分别来介…

    JavaScript 2023年5月27日
    00
  • JS+HTML5手机开发之滚动和惯性缓动实现方法分析

    JS+HTML5手机开发之滚动和惯性缓动实现方法分析 简介 在移动端开发中,实现滚动和惯性缓动是非常常见的功能,本文将基于JS和HTML5,详细讲解实现这一功能的方法和实现过程。本文中的代码及示例在iOS和Android均测试通过。 方法分析 滚动和惯性缓动可以通过使用CSS3的transform属性进行实现,如下所示: .container { trans…

    JavaScript 2023年6月11日
    00
  • JS实现的文件拖拽上传功能示例

    JS实现的文件拖拽上传功能可以让用户通过拖拽文件到页面上的区域来上传文件,而不用手动选择文件上传。下面是实现文件拖拽上传功能的完整攻略: 步骤1:为文件拖拽区域添加事件监听器 需要为文件拖拽区域添加以下3个事件监听器: dragenter:当拖拽文件进入文件拖拽区域时触发,此时需要对文件拖拽区域的样式进行修改。 dragover:当鼠标在文件拖拽区域内移动时…

    JavaScript 2023年5月28日
    00
  • JS实现轮播图小案例

    JS实现轮播图小案例的攻略如下: 1. 设计HTML结构 在页面上设计轮播图的HTML结构,通常采用ul标签加li标签的方式,li标签内嵌套img标签。同时也可以添加左右切换箭头、小圆点等控件。 示例代码: <div class="slider"> <ul class="slider-list"&gt…

    JavaScript 2023年6月11日
    00
  • JavaScript实现字符雨效果

    JavaScript实现字符雨效果 在网页上实现字符雨效果,可以通过在HTML的body元素中添加一个全屏的canvas元素,然后使用JavaScript编写一个动画效果,不断更新canvas中的字符颜色和位置,从而实现字符雨效果。 准备工作 在HTML中添加一个全屏的canvas元素 <canvas id="matrix-canvas&qu…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部