gpt4 book ai didi

javascript - 有人可以一步步向我解释一下这段代码如何从网站 URL 获取参数吗?

转载 作者:行者123 更新时间:2023-12-01 00:39:34 26 4
gpt4 key购买 nike

我试图从 url 获取一些参数。

像往常一样,我在网上搜索如何,这是我找到的有用链接。

https://html-online.com/articles/get-url-parameters-javascript/

以下是我从该网站获得的代码:

function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}

这段代码运行得很好。它做了我想做的事。但我不太清楚为什么。

这是否意味着引用\1、\2 分别进入函数的参数?

如果是这样的话,第一个参数 m 是做什么用的?

任何人都可以向我解释一下这段代码背后发生了什么吗?

最佳答案

.replace 的第二个参数可以是一个函数。如果提供了该函数,则其参数(第一个)是匹配的完整字符串,后跟捕获组。例如,如果有一个捕获组,则第一个组捕获的字符串将是第二个参数;如果有两个捕获组,则第二组捕获的字符串将是第三个参数,依此类推。

If that's the case, what is this first parameter m for?

这是完全匹配,未使用 - 但如果不为第一个参数声明变量名,就无法使用后面的参数(第一个参数之后),因此为了使用捕获组,参数即使未使用,也必须声明完全匹配。

这里,key中的值将是捕获组匹配的子字符串

([^=&]+)(查询字符串中的键 - =& 之外的一个或多个字符)

并且value中的值将是捕获组匹配的子字符串

([^&]*)(查询字符串的关联值 - 除 & 之外的零个或多个字符)

关于javascript - 有人可以一步步向我解释一下这段代码如何从网站 URL 获取参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57818715/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com