在阅读一段源码时,看到这么一段代码,可以获取到地址中所有的参数:
function getUrlVars(href) {
var vars = {
};
var parts = href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) {
vars[key] = value;
});
return vars;
}
这里重点要说的就是 replace 的第二个参数。我们一般用法是这样:
.replace("a", "b")
作用就是将 a 替换成 b。但是很少用到第二参为函数的情况,如开始的那段代码里,就使用了一个函数。要理解这个用法,我们需要掌握两个概念: