獲取URL引數的一個封裝方法
阿新 • • 發佈:2018-12-04
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;