url格式:”https://mp.csdn.net/mdeditor?a=1&b=2&c=3“;
封装方法1:
var getUrlParameter = function(){
// 获取url参数
function getQueryString() {
var parameter = location.search.substr(1); // 获取url中"?"符后的字串
var parameterJson = {}; // 保存参数数据的对象
var parameterArr = parameter.length ? parameter.split("&") : []; // 取得每一个参数项,
var item = null;
var len =parameterArr.length;
for (var i = 0; i < len; i++) {//这里写代码片
item =parameterArr[i].split("=");
var name = decodeURIComponent(item[0]);// URI 进行解码。
var value = decodeURIComponent(item[1]);// URI 进行解码。
if (name) {
parameterJson[name] = value;
}
}
return parameterJson;
}
return {
getQueryString:getQueryString
}
}();
调用方法:
var urlString = getUrlParameter.getQueryString();
console.log(urlString["a"]) // -->输出为 1;
封装方法2(面向对象):
function getUrlParam() {
this.parameter = location.search.substr(1); // 获取url中"?"符后的字串
this.parameterJson = {}; // 保存参数数据的对象
this.parameterArr = this.parameter.length ? this.parameter.split("&") : []; // 取得每一个参数项,
this.item = null;
this.len =this.parameterArr.length;
var _this=this;
for (var i = 0; i < this.len; i++) {//这里写代码片
_this.item =_this.parameterArr[i].split("=");
_this.name = decodeURIComponent(_this.item[0]);// URI 进行解码。
_this.value = decodeURIComponent(_this.item[1]);// URI 进行解码。
if (_this.name) {
_this.parameterJson[_this.name] = _this.value;
}
}
return this.parameterJson;
}
调用方法:
var getUrlParam=new getUrlParam();//使用:用类去创建实例
var a=getUrlParam["a"];
console.log(a) // -->输出为 1;