search.replace()的第二个函数参数的参数,它们在通用的情况下各自代表什么意思没看懂
function getQueryObject(url) {
    url = url == null ? window.location.href : url;
    var search = url.substring(url.lastIndexOf("?") + 1);
    var obj = {};
    var reg = /([^?&=]+)=([^?&=]*)/g;
    search.replace(reg, function (rs, $1, $2) {
        var name = decodeURIComponent($1);
        var val = decodeURIComponent($2);                
        val = String(val);
        obj[name] = val;
        return rs;
    });
    return obj;
}
                            
                                    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
参考MDN
rs是匹配的子串,$1和$2代表匹配的第n个分组,这里也就是
([^?&=]+)(即query的name)和([^?&=]*)(即query的value),遍历同时将value赋值到obj对应的name属性上。为每项匹配的数据设置回调处理