1. 程式人生 > >獲取URL引數的一個封裝方法

獲取URL引數的一個封裝方法

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;